- 程序错误分为语法错、语义错、逻辑错
- 语义错可分为错误和异常
- try-catch-finally语句来捕获和处理一个或多个异常语法格式:
try{
要检查的语句序列 //try块
}
catch(异常类名 形参对象名){
异常发生时的处理语句序列 //catch块
}
finally{
一定会运行的语句序列 //finally块
}
- 异常分类:
- 系统自动抛出的异常==》系统定义的运行时异常
- 指定方法抛出的异常==》用户程序自定义的异常
(1)抛出异常的方法
如果一个方法内部的语句在执行时可能引发某种异常,但是不能确定如果处理,则此方法应声明抛出异常
一个方法声明抛出异常的两种方式:
- 在方法体内使用throw语句抛出异常对象,语法格式:
throw 由异常类所产生的对象;
- 在方法头部添加throws子句表示方法将抛出异常。格式:
[修饰符] 返回值类型 方法名([参数列表]) throws 异常类列表
(2)由调用方法处理异常
由一个方法抛出异常后,该方法内又没有处理异常的语句,则系统就会将异常向上传递,由调用它的方法来处理这些异常,若上层调用方法中仍没有处理异常的语句,则可以往上追溯到更上一层,这样可一层层地向上追溯,可一直追溯到main()方法。
- 异常类可分为两大类:
java.lang.Exception和java.lang.Error