throw
throw是程序中明确引发异常,一旦执行到throw,程序就会被中断,下面的代码就不会被执行!
结论:在编写代码阶段,即使不运行程序,throw下面也依然不能写代码!
解释:个人理解:throw本来就是程序一旦执行到它,程序就会中断,throw下面的语句就不再执行,所以你throw下面写任何代码都是没有意义的,它永远也不会被执行到,所以编译器就在未运行的阶段提示你,如果throw下面有代码,就会报错
下面是一些验证的例子
example 1:
public static void main(String[] args) {
int[] a = {1,2,3,};
int i = 5;
if(i > 5){
System.out.println("测试-1");
}else{
throw new StringIndexOutOfBoundsException("测试1");
System.out.println("异常");//会报错
}
}
example 2:
正常情况下,test()方法,会因缺少返回值,而报错
但是如果加了throw,报错就会消失,这也就验证了我们之前的设想
结论:在编写代码阶段,即使不运行程序,throw下面也依然不能写代码!