异常有两种类型:
1)是一种捕获处理
try {
//里面加入需要被检测的异常代码
}catch{
//里面加入异常显示语句
}finally{
//不管是否出现异常finally里面的语句都会运行
}
2)是一种抛出异常
通常是 throws 后接异常类型
例如:
public class test {
public static void main(String[] args) throws FileNotFoundException {
FileInputStream fil=new FileInputStream("c/:abc.text");
}
}
一个文件打开操作,这里使用了抛出异常。
如果有其他方法调用了此方法,那么调用此方法的方法要负责处理异常(简单来说就是责任制,谁要使用谁就负责)。
如(同样使用文件操作来进行):
public class test {
public static void main(String[] args) throws FileNotFoundException {
System.out.println("调用了m1方法");
m1();
}
private static void m1() throws FileNotFoundException {
System.out.println("调用了m2方法");
m2();
}
private static void m2() throws FileNotFoundException {
FileInputStream fil=new FileInputStream("c/:abc.text");
}
}
接下来还有自定义异常(异常的实际操作)
步骤如下
//1)定义一个类继承Exception
public class ageyichang extends Exception {
//2)定义两个构造方法,一个无参,一个有参
public ageyichang() {
super();
}
public ageyichang(String message) {
super(message);
}
//3)在需要抛出异常的地方使用throw抛出异常
//4)声明受检异常
}
总的来说异常处理是通过以下五个关键字来操作的: try catch finally throws throw。