-
调用方获知调用失败的信息:约定返回错误码(常见于底层C函数);在语言层面上提供一个异常处理机制。
-
Throwable
有两个体系:Error
和Exception
,Error
表示严重的错误,程序对此一般无能为力;Exception
则是运行时的错误,它可以被捕获并处理。 -
NoClassDefFoundError
:无法加载某个Class。 -
NumberFormatException
:数值类型的格式错误。
-
还有一些异常是程序逻辑编写不对造成的,应该修复程序本身:
NullPointerException空指针异常:
对某个null
的对象调用方法或字段;IndexOutOfBoundsException
:数组索引越界。 -
捕获异常使用
try...catch
语句,把可能发生异常的代码放到try {...}
中,然后使用catch
捕获对应的Exception
及其子类。 -
多个catch语句的时候,当捕获到一个异常,后面的异常就不捕获了,也就看不到后面异常的输出
-
Runtime Exception:错误的类型转换;数组下标越界(开大一点);空指针访问
-
IOExeption:从一个不存在的文件中读取数据;越过文件结尾继续读取EOFException;连接一个不存在的URL。
-
java提供的异常处理的抓抛模型。(捕获、抛出)