| 异常基本概念: * 1、检查性异常(编译异常):java.lang.Exception
 * 2、运行期异常:java.lang.RuntimeException
 * 3、错误:java.lang.Error
 *  异常和错误的顶层类都是java.lang.Throwable类,检查
 *  性异常、运行期异常、错误都是这个类的子孙类。
 * 异常分类:
 * 1、检查性异常:
 *  程序正确,但因为外在的环境条件不满足
 *  引发,例如:用户错误及i/o问题——程序试图打开一个并
 *  不存在的远程Socket端口,或者是打开不存在的文件时,
 *  这不是程序本身的逻辑错误,而很可能是远程机器名称错
 *  误,对商用软件系统,程序开发者必须考虑并处理这个问
 *  题,java编辑器强制要求处理这类异常,如果不捕获这类
 *  异常,程序将不能被编译通过
 * 2、运行期异常:
 *  这意味着程序存在bug,如数组越界、0被除……这类异常需
 *  要更改程序来避免,java编译器强制要求处理这类异常。
 * 3、错误:
 *  错误一般很少见,也很难通过程序解决,它可能源于程序的
 *  bug,但一般更可能源于环境问题,如内存耗尽、错误在程序
 *  中无需处理,应有运行环境处理
 * java中异常处理的两种方法:
 * 1、在发生异常的地方直接处理
 * 2、将异常抛给调用者,让调用者处理
 |