声明异常throws

声明异常:将问题标识处理 报告给调用者 如果方法内通过throw抛出了编译是异常 通过throws进行声明 让调用者去处理

关键字throws运行于方法之上 用于表示当前不出来异常 而是提醒该方法的调用者来处理异常

声明异常格式:

修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2{}

注意:

1.throws关键字必须写在方法声明处

2.throws关键字后面声明的异常必须是Exception或者是Exception的子类

3.方法内部如果抛出了多个异常对象 那么throws后边必须也声明多个异常

  • 如果抛出的多个异常对有字符类关系 那么只需声明父类异常即可

4.调用了一个声明抛出异常的方法 我们就必须的处理声明的异常

  • 要么继续使用throw声明 交给方法的调用者处理 最终交给JVM
  • 要么try....catch自己处理异常

声明异常 不打印 java 声明异常的关键字是_类名

 

 捕获异常try..catch

如果异常出现的话 会立刻终止程序 所以我们得处理异常

1.该方法不处理 而是声明抛出 有该方法的调用者来处理(throws)

2.在该方法中使用try-catch的语句块来处理异常

try-catch的方式就捕获异常

  • 捕获异常:java中对异常有针对性的语句进行捕获 可以对出现的异常进行制定的处理

捕获异常语法如下:

try{
  编写可以会出现异常的代码  
}catch(异常类 e){
  处理异常的代码 
}

注意:

1.try中可能会抛出多个异常对象 那么就可以使用多个catch来处理这些异常对象

2.如果try中产生了异常 那么就会执行catch中的异常处理逻辑 执行完毕catch的处理逻辑 继续执行try...catch之后

  • 如果try中没有产生异常 那么就不会执行catch中异常的处理逻辑 执行完try中的代码 继续执行try..catch之后的代码

代码:

public static void main(String[] args) {
    try {
        method("test.tx");
    } catch (IOException e) {
        System.out.println("文件名不正确 应该是.txt");
    }
}

private static void method(String s) throws IOException {
    FileInputStream stream = new FileInputStream(s);
}

运行结果:

声明异常 不打印 java 声明异常的关键字是_捕获异常_02