码迷,mamicode.com
首页 > 其他好文 > 详细

2.异常处理机制

时间:2020-01-21 20:07:01      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:erro   stack   关键字   hit   ali   异常处理机制   选中   异常类   main   

异常处理机制:
抛出异常
捕获异常
异常处理的5个关键字 try、catch、finally、throw、throws
try、catch、finally、

 1 package com.exception;
 2 
 3 public class Demo01 {
 4     public static void main(String[] args) {
 5 
 6         //选中代码,快捷键:Ctrl+Alt+t
 7         int a = 1;
 8         int b = 0;
 9 
10         //假设要捕获多个异常:需从小到大捕获!否则报错已被捕获。
11 
12         try {//try可以理解为监控区域
13             System.out.println(a / b);
14         } catch (Error e) {//catch(想要捕获的异常类型!)叫做捕获异常
15             System.out.println("Error");
16         } catch (Exception e) {
17             //System.out.println("Exception");
18             //System.exit(0);//程序结束
19             e.printStackTrace();//打印错误的栈信息
20         } catch (Throwable t) {
21             System.out.println("Throwable");
22         } finally {//处理善后工作,无论出不出异常,finally中的语句终究会执行
23             System.out.println("finally");
24         }
25 
26         //finally 可以不要finally,假设IO,资源,关闭!
27 
28     }
29 
30     public void a() {
31         b();
32     }
33 
34     public void b() {
35         a();
36     }
37 }
throw、throws

 1 package com.exception;
 2 
 3 public class Test {
 4     public static void main(String[] args) {
 5 
 6         //用 try catch 捕获后程序会正常执行,否则停止运行抛出异常
 7         try {
 8             new Test().test(1, 0);
 9         } catch (ArithmeticException e) {
10             e.printStackTrace();
11         }
12     }
13 
14 
15     //假设这个方法中处理不了这个异常。方法上抛出异常
16     public void test(int a, int b) throws ArithmeticException {
17         if (b == 0) {//throw throws
18             throw new ArithmeticException();//主动抛出异常,一般在方法中使用
19         }
20     }
21 }

 

 

2.异常处理机制

标签:erro   stack   关键字   hit   ali   异常处理机制   选中   异常类   main   

原文地址:https://www.cnblogs.com/duanfu/p/12222697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!