Java 异常处理——声明、抛出异常

2022-03-21  本文已影响0人  Wpcc

声明检查类型异常 throws

   概述:如果一个方法可能会出现异常,但我们不想使用try..catch 精准捕捉处理异常,只想模糊处理,可以在方法声明处用throws子句来声明抛出异常。其实程序默认的报错方式就是抛出。

   例如:如果我们需要读取一份文件,但是有可能读取的文件不存在,或者内容为空,所以我们需要告诉编译器可能会出现FileNotFoundException类异常

public FileInputSteam(String name) throws FileNotFoundException,ArrayIndexOutOfBoundsException // 可以抛出多个异常
  1. 注意:子类抛出的异常必须与父类一致,或者是父类异常的子类。

  2. 注意:throws 会将异常抛给调用的语句块。比如 f1( )方法里面抛出了FileNotFoundException异常,若 f2( )方法调用 f1( )方法,f2( )方法就得处理f1( )方法里面抛出的FileNotFoundException异常。前提是这个异常是 检查型/运行时异常,非检查型异常不报错,因为非检查型异常本身就默认有检查方式抛出。

    • 处理方式
      • f2( )方法也抛出FileNotFoundException异常
      • f2( )方法使用try..catch捕捉异常

抛出异常 throw

  抛出异常很简单,抛出后就不用管了


创建自定义异常类

//创建自定义异常类
class FileFormatException extend IOException{
    public FileFormatException(){}  // 默认的构造器
    public FileFormatException(String gripe){  // 详细描述信息的构造器
        super(gripe);
    }
}
// 抛出自定义异常类
String readData(Buffered in) throws FileFormatException{
    ......
    while(...){
        if (. . .){
            throw new FileFormatException();
        }
      ......
    }
    return ...;
}
上一篇下一篇

猜你喜欢

热点阅读