美文网首页
Java 异常处理——声明、抛出异常

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

作者: Wpcc | 来源:发表于2022-03-21 13:33 被阅读0次

声明检查类型异常 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

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

  • throw 将产生的异常抛出(强调的是动作),抛出的既可以是异常的引用,也可以是异常对象。注意与 throws 的区别
  • 首先要决定抛出什么异常,比如 throw new IOException
  • 也可以是 var e = new IOException( ) ; throw e ;

创建自定义异常类

  • 概述:如果遇到现有任何标准异常类都无法描述清楚的问题,这种情况下就需要创建一个属于自己的异常类了。
  • 如何:我们要做的就是定义一个派生于Exception 的类,或者子类,比如IOException。
    • 超类Throwable 的 toString 会返回字符串,很好用
    • 创建异常类应该包含两个构造器,一个是默认的构造器,一个是包含详细描述信息的构造器。
//创建自定义异常类
class FileFormatException extend IOException{
    public FileFormatException(){}  // 默认的构造器
    public FileFormatException(String gripe){  // 详细描述信息的构造器
        super(gripe);
    }
}
// 抛出自定义异常类
String readData(Buffered in) throws FileFormatException{
    ......
    while(...){
        if (. . .){
            throw new FileFormatException();
        }
      ......
    }
    return ...;
}

相关文章

  • 03/13牛客刷题总结

    1.java中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。 throw用于抛出异常 throws...

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

    声明检查类型异常 throws    概述:如果一个方法可能会出现异常,但我们不想使用try..catch 精准...

  • Java- 异常处理

    Java- 异常处理 异常处理能够使一个方法给它的调用者抛出一个异常。 Java异常是派生自 java.lang....

  • RabbitMQ笔记二十四:RabbitMQ异常处理

    异常处理 RabbitMQ java client中的异常处理 消费消息,在消费消息的时候抛出异常, 消费启动类:...

  • 04- JAVA异常

    在JAVA中异常就是一个类,产生异常就是创建异常对象并抛出一个异常对象。JAVA处理异常的方式是中断处理。参考:j...

  • 03-异常

    38. 异常 异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常方式是中断处理 异常...

  • Kotlin2.5异常

    Kotlin的异常处理和Java以及其他许多语言的处理方式相似,异常处理语句的基本形式和Java类似,抛出异常的方...

  • flutter【6】dart语言--异常

    异常 和java不同,dart中的异常都是非检查异常,方法可以不声明可能抛出的异常,也不要求捕获任何异常。 dar...

  • JNI基础(10): JNI异常处理

    为了处理以Java代码实现的方法执行中抛出的异常,或者是Native代码中抛出的Java异常,JNI提供了Java...

  • 捕获异常 - try/catch

    一、异常处理 从上篇文章已经知道如何抛出一个异常,其实除了声明异常之外,还可以捕获异常。那异常出现后到底该如何处理...

网友评论

      本文标题:Java 异常处理——声明、抛出异常

      本文链接:https://www.haomeiwen.com/subject/ouxtjrtx.html