|
|
1 问题
2 L0 {" t+ D. h t如何在Java中直接抛出异常?1 g# v, g @4 z9 F P; @9 f
2 方法: |1 A6 V6 |: q+ R2 I' ]
在Java中直接抛出异常的方法是用关键字throw引发明确的异常。如果语句中throw被执行则后面的语句将不再执行,执行流程将会与catch匹配。这种是属于认为抛出异常,不是出错产生。
9 O! M* u5 _ Z/ e% D/ r
, q/ F4 ?7 |* ^( u! L对于问题的认为抛出后面必须要抓取这个问题并解决这个问题,不然程序运行会自动报错并终止。这里值得注意的是认为抛出异常(throw)和系统抛出异常(error)。对于error类异常表明系统已经不可以恢复了,已经没有能力来解决这样的异常错误。一般由系统遇到致命的错误时抛出由Java虚拟机处理。对于throw中抛出的异常一般都是没有抓取上述抛出的异常。
6 M; o. r1 G* e% @8 M$ b; \7 K! w
8 a/ ^" N9 S1 R$ o. Y0 `. Z0 UTest()函数声明了他可能抛出Error类型的异常,所以在main中没有catch(Error)或catch(Throwable)块。5 y$ j% C. S9 K
3 结语9 `; m4 M7 x, ], U0 ]3 X5 X
在Java中直接抛出异常的方式是通过使用关键字throw,但是后面必须要用catch接应throw,若不接应则系统会报错。在这还需要分清系统和直接抛出异常。 |
|