异常与泛型

捕获异常

异常分为两种类型:未检查异常和已检查异常。

已检查异常:系统已检查可能发生异常的地方,程序员编写再精细的程序也无法保证不发生异常的地方。(派生于IOException)
未检查异常:派生于Error类或RuntimeException

对于已检查异常,编译器将会检查是否提供了处理器。(在即时编译器的编译阶段就已经检测出来,必须处理或抛出该有可能发生的已检查异常)。
然而,有很多常见的异常,例如,访问null引用,都属于未检查异常。编译器不会查看是否为这些错误提供了处理器。毕竟,应该精心地编写代码来避免这些错误的发生,而不是将精力放在编写异常处理器上。

|—throw 在方法体中抛出异常
|—throws 在方法头上抛出异常
|—try-catch 捕获并处理异常

泛型

泛型类可以看作不同类的工厂
一个泛型类就是具有一个或多个类型变量的类