java异常捕获的公共类 java中捕获异常的关键字 您所在的位置:网站首页 ow打不开 java异常捕获的公共类 java中捕获异常的关键字

java异常捕获的公共类 java中捕获异常的关键字

2023-05-21 18:47| 来源: 网络整理| 查看: 265

Java的异常异常处理机制抛出异常捕获异常

异常处理五个关键字:try、catch、finally、throw、throws

try、catch、finally

快捷键,选中可能出现异常的部分,Ctrl + Alt + T。用try catch finally

java异常捕获的公共类 java中捕获异常的关键字_java

1、try中是语句

2、catch是捕获的异常类型。捕获的时候,就像if elseif else if ... else一样,可以有选择的捕获

    (需要注意:当需要捕获多个异常时,要从小往大捕)。

    在多重catch块后,最好加一个catch(Exception)来处理可能被遗漏的异常。

 

java异常捕获的公共类 java中捕获异常的关键字_java_02

3、finally是不管有无异常都会执行的语句(一般是IO流的关闭等)

 

java异常捕获的公共类 java中捕获异常的关键字_System_03

package com.WZ.Demo.Application; public class Application { public static void main(String[] args) { int a = 3; int b = 0; try { int c = a/b; } catch (Error e) { //捕获Error System.out.println("Error"); } catch (Exception e) { //捕获Exception System.out.println("Exception"); } catch (Throwable t) { //捕获Throwable System.out.println("Throwable"); } finally { //善后工作 System.out.println("finally"); } } }

输出:

Exception

finally

 

throw、throws

这两个都是自己设定一种情况下,主动抛出异常

二者的区别:

1. throw: throw是语句抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出特定类型的异常

2. throws:throws是方法可能抛出异常的声明,用在声明方法时,表示该方法可能抛出异常,然后交给上层调用它的方法处理

3. throw和throws区别:    throw出现在函数体,throws出现在方法函数头    throw是抛出了异常,执行throw则一定是抛出了某种异常,throws是表示出现异常的一种可能性,并不一定会抛出这些异常

 

1. throwthrow方法一

下面用throw抛出异常后,程序不会往下走。

即:new Application().test(1,0);这一句执行完,抛出异常,程序就停止了,下面语句 System.out.println("继续往下走");不再往下走。

package com.WZ.Demo.Application; public class Application { public static void main(String[] args) { new Application().test(1,0);System.out.println("继续往下走");} public void test(int a, int b) { if (b == 0) { throw new ArithmeticException(); } } }

输出:

Exception in thread "main" java.lang.ArithmeticException

      at com.WZ.Demo.Application.Application.test(Application.java:11)

      at com.WZ.Demo.Application.Application.main(Application.java:6)

throw方法二

下面用throw抛出异常后,用try catch等捕获异常,然后程序继续往下走。

即:new Application().test(1,0);这一句执行完,抛出异常,捕获异常,程序不停止,下面语句 System.out.println("继续往下走");接着往下走。

package com.WZ.Demo.Application; public class Application { public static void main(String[] args) { try { new Application().test(1,0); } catch (Exception e) { e.printStackTrace(); } System.out.println("继续往下走"); } public void test(int a, int b){ if (b == 0) { throw new ArithmeticException(); } } }

输出:

Exception in thread "main" java.lang.ArithmeticExceptionat com.WZ.Demo.Application.Application.test(Application.java:11)at com.WZ.Demo.Application.Application.main(Application.java:6)

继续往下走

2. throws

 

java异常捕获的公共类 java中捕获异常的关键字_System_04

package com.WZ.Demo.Application; public class Application { public static void main(String[] args) { try { new Application().test(1,0); } catch (Exception e) { e.printStackTrace(); } System.out.println("继续往下走"); } public void test(int a, int b) throws ArithmeticException{ if (b == 0) { throw new ArithmeticException(); } } }

输出:

Exception in thread "main" java.lang.ArithmeticExceptionat com.WZ.Demo.Application.Application.test(Application.java:11)at com.WZ.Demo.Application.Application.main(Application.java:6)

继续往下走

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有