java中的异常机制

java 中的异常机制
异常是在程序运行过程中发生的异常,如数学运算中的除0异常、数组越界、空指针异常等等,这些异常阻止了程序的正常运行。
异常发生的原因有:
1.java虚拟机检测到了非正常的执行状态。
2。java程序代码中的throw语句被执行。
3.异步异常的发生。
java中通过面向对象的方法来处理这异常。在系统调用一个方法时,如果发生了异常,则这个方法会生成代表该异常的一个对象,并会把它交给JVM运行系统寻找相应的代码来处理这个异常,我们把这个过程便称为抛出异常。
java中Throwable类用及其子类是专门用来处理这些异常的。Throwable类有两个直接子类分别是:Error和Exception.Error类对象由java虚拟机生成并抛出;Exception类对象是由java程序处理并抛出的对象。这种异常一般包括编译时异常和运行时异常
。常见的编译时异常有IoException,Thread.sleeptime等等,这种异常是需要强制检测的,其它的异常就是对应的非强制检测异常,即运行时异常(runtimeException),如空指针异常(nullpointerException),数组越界异常(ArrayIndexOutOfBoundException),算术运算异常(ArithmeticException)
,如除0异常。
那么应该如何处理异常呢?
异常处理按照产生的效果可分为积极的处理方式和消极处理方式,
捕获异常(try-catch-finally)------积极的处理方式
抛出异常(throw语句)
声明抛出异常(throws子句)--------消极的处理方式
关于throw子句和throws子句
throw 语句可以明确地抛出一个异常对象,用来告知编译器此处要发生一个异常,程序会在throw语句处立即终止,转向try...catch寻找异常处理方法,不再执行throw后面的语句。
throws用来表明一个方法中可能抛出的各种异常,并说明该方法会抛出便不捕获异常。

你可能感兴趣的:(java中的异常机制)