java提供给程序主动抛出异常的语句

Python020

java提供给程序主动抛出异常的语句,第1张

try块内可以写throw来抛出一个异常,并且你理解的是对的,抛出异常之后,发生异常的语句之后的语句不会被执行,所以randomaccessfile

f

=

new

randomaccessfile("test.txt","rw")的确是不会被执行的。

但是正因为randomaccessfile

f

=

new

randomaccessfile("test.txt","rw")这句肯定不会被执行,所以根本没有必要写在后面,是废代码,所以会报错。你觉得废代码最多就是不用,你觉得不算错,但是jvm不这样认为。

你可以在return语句下面再写语句,你就会发现一样报错。原因也是这个。return之下的代码是肯定不会被执行的。

java抛出异常不一定要写在try里面,可以在类抛出所有的异常,不用捕捉,让系统自带捕捉,以下为三种抛出异常的方式:

1、public void do1() throws Exception {//抛出所有异常,不用捕捉

     throw new Exception("not implement")

2、public void do1() {

     throw new RuntimeException("not implement")//主动抛出异常

   }

3、public void do1() {

     try {

       ...

     } catch(Exception e) {

      ... //处理异常

     }

   }

如果异常发生的位置在try代码块里,那么如果在catch里,没有主动抛出异常,并且catch的代码没有发生异常,循环继续。

如果异常发生在catch代码块里,而程序没有对catch里的异常进行try-catch,会中断循环。

总之,循环是否中断,看 代码是否自己将异常处理了,如果程序处理了,不抛给 JVM,那么循环就不会终止,另外要注意自己的catch代码块是否也可能出现异常。

语句会抛出你自定义的异常,这种异常程序要求必须try----catch处理或者声明抛出异常。

throwsXXException(自定义异常)想要重试还是异常就终止的话,需要声明抛出异常,也就是告诉虚拟机,如果此时再次抛出异常,则直接抛给调用者,如果调用者没有对该异常进行处理,那么程序会弹出提示异常关闭。