目录
一、异常
1、Exception异常类
- RuntimeException及其子类:运行时异常;
- 除RuntimeException的所有异常:编译期必须处理的,否则编译器不能通过编译;
RuntimeException异常:
package com.gkl.service;
public class ExceptionDemo {
//属于RuntimeException异常
public void show() throws NullPointerException, ArrayIndexOutOfBoundsException {
System.out.println("空指针异常");
}
public static void main(String[] args) {
ExceptionDemo exceptionDemo=new ExceptionDemo();
exceptionDemo.show();
}
}
- 非RuntimeException异常的IOException异常:
package com.gkl.service;
import java.io.FileWriter;
import java.io.IOException;
public class ExceptionDemo {
public void show() throws NullPointerException, ArrayIndexOutOfBoundsException {
System.out.println("空指针异常");
}
public static void main(String[] args) {
ExceptionDemo exceptionDemo=new ExceptionDemo();
exceptionDemo.show();
//文件的写入会有IO输入输出流的异常IOException,非RuntimeException异常必须抛出异常
try {
FileWriter fileWriter=new FileWriter("gkl.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
2、异常处理方式
格式:throw new 异常();
- throws:用在方法声明后面,跟的是异常类名;表示声明异常,调用该方法有可能会出现这样的异常;
- throw:用在方法体内,跟的是异常对象名;表示手动抛出异常,由方法体内的语句处理;
格式:
try {
可能出现异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
}
Throwable的成员方法:
方法名 | 说明 |
public String getMessage() |
返回此 throwable 的详细消息字符串 |
public String toString() |
返回此可抛出的简短描述 |