异常处理机制
- 抛出异常
- 捕获异常
异常处理的五个关键词:
try、catch、finally、throw、throws
实例:int a = 1;int b = 0;
System.out.println(a/b);
异常:Exception in thread “main” java.lang.ArithmeticException: / by zero
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package com.exception; public class Test { public static void main(String[] args) { int a=1; int b=0; try{//监控区域 System.out.println(a/b); }catch(ArithmeticException e){//捕获异常 System.out.println("程序出现异常,变量b不能为0"); }finally{//处理善后工作 System.out.println("finally"); } //finally可以不要,假设IO流、资源,关闭 } } 输出: 程序出现异常,变量b不能为0 finally
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24package com.exception; public class Test { public static void main(String[] args) { int a=1; int b=0; try{//监控区域 new Test().a(); }catch(Error e){//catch(想要捕获的异常类型!) Throwable最高级 捕获异常 System.out.println("Error"); }catch(Exception e){//可以捕获多个异常,但是从上至下,范围从小到大 }catch(Throwable e){ } finally{//处理善后工作 System.out.println("finally"); } //finally可以不要,假设IO流、资源,关闭 } public void a(){b();} public void b(){a();} } 输出: Error finally
复制代码
1
2
3
4
5
6
7
8//快捷键:选中语句 ctrl+alt+t try { System.out.println(a/b); } catch (Exception e) { e.printStackTrace();//打印错误的栈信息 } finally { }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21package com.exception; public class Test { public static void main(String[] args) { int a=1; int b=0; try { new Test().test(a,b); } catch (ArithmeticException e) { e.printStackTrace(); } finally { } } //假设在这个方法中处理不了这个异常。方法上抛出异常 public void test(int a, int b) throws ArithmeticException{ if(b==0){ //throw throws throw new ArithmeticException();//主动抛出异常,一般在方法中使用 } } }
最后
以上就是平常时光最近收集整理的关于异常2-异常处理机制的全部内容,更多相关异常2-异常处理机制内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复