我有一个带有以下签名的函数
public static String myFunction(@Nonnull String param)
当我将参数设置为空时,我会收到以下异常:Caused by: java.lang.IllegalArgumentException: Argument for @Nonnull parameter 'param' of com/MyClass.myFunction must not be null
at com.MyClass.$$$reportNull$$$0(MyClass.java)
javax.annotation.Nonnull在运行时不应该被检查。
到底是谁抛出了异常以及为什么会抛出异常呢?
P.S. 我使用Oracle JDK 1.8.0_102,从IntelliJ IDEA 2016.3以调试模式运行Tomcat服务器。