1.1Throwable对象派生出两种类型:

Error和Exception,前者用来示意编译时和零碎谬误,程序员往往不用关怀;后者是能够被抛出的根本类型,须要程序员关注.
Java异样(Exception)依照编译器查看形式能够分为:
查看型异样(CheckedException)和非查看型异样(UncheckedException)。

1.2查看型异样(CheckedException)

在Java中所有不是RuntimeException派生的Exception都是查看型异样。当函数中存在抛出查看型异样的操作时该函数的函数申明中必须蕴含throws语句。调用该函数的函数也必须对该异样进行解决(try-catch),如不进行解决则必须在调用函数上申明throws语句。

   查看型异样是JAVA独创的,在编译期对异样的解决有强制性的要求。在JDK代码中大量的异样属于查看型异样,包含IOException,SQLException等等。     

1.3非查看型异样(UncheckedException)

       在Java中所有RuntimeException的派生类都是非查看型异样,与查看型异样绝对抛出非查看型异样能够不在函数申明中增加throws语句,调用函数上也不须要强制解决。

       常见的NullPointException,ClassCastException是常见的非查看型异样。非查看型异样 能够不应用try...catch进行解决,然而如果有异样产生,则异样将由JVM进行解决。对于RuntimeException的子类最好也应用异样解决机制。尽管RuntimeException的异样能够不应用try...catch进行解决,然而如果一旦产生异样,则必定会导致程序中断执行,所以,为了保障程序再出错后仍然能够执行,在开发代码时最好应用try...catch的异样解决机制进行解决。
1.4 自定义异样

继承自Exception或者RuntimeException,只须要提供无参结构和一个带参结构即可
/**IllegalAgeException:自定义异样,继承自Exception或者RuntimeException  *///默认结构器public IllegalAgeException(){}//带有详细信息的结构器,信息存在messgae中public IllegalAgeException(String message){       super(message);}

1.5 finally关键字
finally用于开释资源,它的代码永远会执行。非凡状况:在执行到finally之前jvm退出了