异常

java异常处理目的在于通过使用少于目前数量的代码来简化大型、可靠的程序的生成。Java中Throwable类是所有异常或错误的超类,它的两个子类Error表示编译时和系统错误,Exception表示可以被抛出和处理的异常。一般来说我们只关心Exception类,它的子类可以分为两类:

  • 一般异常(checkedException

主要指SQL、IO异常,对于这种异常JVM会强制我们对其进行catch处理。

  • 运行时异常(runtimeException

这类异常JVM会自动地抛出来,不需要我们手动去检查,如果写了代码反而会混乱。

处理异常可以使用try...catch语句,try用来指定可能会发生异常的程序代码,catch用来捕获异常,如果发生了异常,那么后面的代码将不会执行,但假设存在finally,不管发生没发生异常,finally代码块都会被执行(注意:如果在try语句前有返回点,则finally代码块不会被执行;在try块或catch块中有System.exit(0)这种语句,finally也不会执行,因为JVM都被停止运行了。)。如果try...catch中有return,它不会影响finally,在执行return的时候只是把return后面的值复制一份到返回变量中。可以使用throw明确抛出一个异常,throws用来表明一个方法可能抛出的各种异常。

java中可以使用assert(断言)进行开发的调试,assert后面跟一个布尔值的表达式,如果为false说明程序已经错误了,会抛出一个AssertionException,如果assert后面有“:”和表达式,则表示当条件为假时,将表达式的值传入到AssertionException的构造函数中。

你可能感兴趣的:(异常)