异常(又称例外)即可能出现的一些错误。如试图打开一个根本不存在的文件,异常处理就会改变程序的控制流程,让程序有机会对错误作出处理。
Exception类
1.构造函数
Exception()
Exception(String description)description表示错误描述
异常对象调用如下方法得到或输出有关异常信息:
public String getMessage(); 获得错误描述
public void printStackTrace(); 打印错误消息细节
public String toString(); 返回错误的字符串表示
异常处理语句:
1.try-catch语句
try{
包含可能发生异常的语句
}
catch(ExceptionSubClass1 e){
…//对异常1的处理
}
catch(ExceptionSubClass2 e){
…//对异常2的处理
}
2.try{
//可能发生异常的语句
}
catch(ExceptionSubClass1 e){
//对异常1的处理
}
catch(ExceptionSubClass2 e){
//对异常2的处理
}
finally{
//可选的处理
}
public class Demo30{
public static void main(String[] args){
Person person = new Person();
person = null;
try{
person.speak();
}catch (NullPointerException e){
System.out.println(e.getMessage());
}
}
}
自定义异常类
如果系统预定义的异常无法准确地表达错误类型和提示信息,则可以自定义异常,但是, 自定义异常类必须从Exception派生。
定义异常类
class NegativeException exdends Exception{
private String message = null;
public NegativeException(int m,int n){
message = m+" 和 "+ n +"至少有一个是负数! ";
}
public String getMessage(){
return this.message;
}
public String toString(){
return message;
}
}