/**
* 异常--总结
*
* 异常是什么?是对问题的描述,将问题进行对象的封装。
*
* 异常体系:
* Throwable
* |--Error
* |--Exception
* |--RuntimeException
*
* 异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。
*
* throw和throws的用法:
* throw定义在函数内部,用于抛出异常对象;
* throws定义在函数上,用于抛出异常类,可以抛出多个,用逗号隔开。
*
* 当函数内容有throw抛出异常对象,并未进行try处理。
* 必须要在函数上声明,否则编译失败。RuntimeException及其子类除外,也就是说。
* 函数内,函数内如果抛出的是RuntimeException异常,可以不用声明。
*
* 如果函数声明了异常,调用者需要进行处理,处理方式可抛可try。
*
* 异常有两中:
* 编译时被检测异常
* 该异常在编译时如果没有处理(没有抛也没有try),编译失败。
该异常被标识,代表可以被处理。
* 运行时异常(编译时不检测)
* 在编译时,不需要处理,编译器不检查。
* 该异常的发生,建议不处理,让程序停止,需要对代码进行修正。
*异常处理的语句(三种结合方式):
*try
*{}
*catch()
*{}
*finally
*{}
*
* 注意:
* 1. finally中定义的通常是关闭资源代码。因为资源必须释放。
* 2. finally中有一种情况是读不到的。当执行到System.exit(0)时。
*/