异常处理-声明异常throws和捕获异常try..catch
作者:互联网
声明异常throws
声明异常:将问题标识处理 报告给调用者 如果方法内通过throw抛出了编译是异常 通过throws进行声明 让调用者去处理
关键字throws运行于方法之上 用于表示当前不出来异常 而是提醒该方法的调用者来处理异常
声明异常格式:
修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2{}
注意:
1.throws关键字必须写在方法声明处
2.throws关键字后面声明的异常必须是Exception或者是Exception的子类
3.方法内部如果抛出了多个异常对象 那么throws后边必须也声明多个异常
- 如果抛出的多个异常对有字符类关系 那么只需声明父类异常即可
4.调用了一个声明抛出异常的方法 我们就必须的处理声明的异常
- 要么继续使用throw声明 交给方法的调用者处理 最终交给JVM
- 要么try....catch自己处理异常
捕获异常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);
}
运行结果:
标签:..,处理,声明,try,catch,异常,throws 来源: https://www.cnblogs.com/aimz01/p/16459233.html