|
|
1 问题
, Y0 S# W$ B' P如何在Java中直接抛出异常?
8 G+ p7 l$ w2 K$ A1 |2 方法" I- d1 h& z7 _( y! k
在Java中直接抛出异常的方法是用关键字throw引发明确的异常。如果语句中throw被执行则后面的语句将不再执行,执行流程将会与catch匹配。这种是属于认为抛出异常,不是出错产生。) q' |. @$ r. K) R' h/ R
4 u* Q' b/ f4 x+ x; p5 ~
对于问题的认为抛出后面必须要抓取这个问题并解决这个问题,不然程序运行会自动报错并终止。这里值得注意的是认为抛出异常(throw)和系统抛出异常(error)。对于error类异常表明系统已经不可以恢复了,已经没有能力来解决这样的异常错误。一般由系统遇到致命的错误时抛出由Java虚拟机处理。对于throw中抛出的异常一般都是没有抓取上述抛出的异常。2 T- U- z s+ R$ {9 \; w
% t) f, ] ~; }% l% h$ eTest()函数声明了他可能抛出Error类型的异常,所以在main中没有catch(Error)或catch(Throwable)块。% j3 m4 G7 ^& T) B- |3 K" E C
3 结语' E4 F8 P" M4 I$ C
在Java中直接抛出异常的方式是通过使用关键字throw,但是后面必须要用catch接应throw,若不接应则系统会报错。在这还需要分清系统和直接抛出异常。 |
|