异常:分为编译时异常,运行时异常
格式:
try{
可能出现异常的代码;
}catch(异常类名 变量名){
异常的处理代码}
好处:可以让程序继续往下执行,不会停止
int[] arr = {1,2,3,4,5};
try{
System.out.println(arr[10]);
}catch(ArrayIndexOutOfBoundsException e){
String message = e.getMessage();
String str = e.toString();
e.printStackTrace();
}
抛出异常:
throws:写在方法定义处,表示声明一个异常,告诉调用者,使用本方法可能会有哪些异常
public void 方法() throws 异常类名1,异常类名2…{ }
throw:写在方法内,结束方法
手动抛出异常对象,交给调用者
方法中下面的代码不在执行
public void 方法(){
throw new NullPointerException();
}
自定义异常:
public class NameFormatException extends RuntimeException{
public NameFormatException (){}
public NameFormatException (String message){
super(message);
}
}