Java中用2种方法处理异常:数组
1.在发生异常的地方直接处理;继承
2.将异常抛给调用者,让调用者处理。内存
Java异常可分为3种:开发
(1)编译时异常:Java.lang.Exception编译器
(2)运行期异常:Java.lang.RuntimeExceptionio
(3)错误:Java.lang.Error编译
Java.lang.Exception和Java.lang.Error继承自Java.lang.Throwable;软件
Java.lang.RuntimeException继承自Java.lang.Exception.bug
编译时异常: 程序正确,但由于外在的环境条件不知足引起。例如:用户错误及I/O问题----程序试图打开一个并不存在的远程Socket端口。这不是程序自己的逻辑错误,而极可能是远程机器名字错误(用户拼写错误)。对商用软件系统,程序开发者必须考虑并处理这个问题。Java编译器强制要求处理这类异常,若是不捕获这类异常,程序将不能被编译。程序
运行期异常: 这意味着程序存在bug,如数组越界,0被除,入参不知足规范.....这类异常须要更改程序来避免,Java编译器强制要求处理这类异常。
错误: 通常不多见,也很难经过程序解决。它可能源于程序的bug,但通常更可能源于环境问题,如内存耗尽。错误在程序中无须处理,而有运行环境处理。