第04章 异常处理 05 异常的捕获和处理 finally语句

鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.6)

 

异常的捕获和处理

try {
 //可能抛出异常的语句
}catch(SomeException1 e) {
   ... ... ...
}catch(SomeException2 e) {
   ... ... ... 
}finally {
   ... ... ...
}


1   try代码段包含可能产生例外的代码

2   try代码段后面跟有一个或多个catch代码段

3   每个catch代码段声明其能处理的一种特定类型的异常并提供处理的方法

4   当异常发生时,程序会终止当前的流程,根据捕获的异常的类型去执行相应的catch代码段

5   finally代码段无论是否发生异常都有执行

 

try语句

1   try{...}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围。

2   在执行的过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,他后面的catch语句要分别对这些异常做相应的处理

3   如果没有例外产生,所有的catch代码段都会被跳过,不执行。

 

catch语句

1   在catch语句块中是对异常进行处理的代码,每个try语句块可以伴随一个或多个catch语句,用于处理可能产生不同类型的异常对象

2   在catch中声明的异常对象(catch(Exception e))封装了异常事件发生的信息,在catch语句块中可以使用对象的一些方法获取这些信息。

3   例如:

              getMessage()方法,用来得到有关异常事件的信息

              printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容

 

finally语句

1   finally语句为异常处理提供了一个统一的出口,使得控制流程转到程序的其他部分以前,能够对程序的状态作统一的管理。

2   无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行

3   通常在finally语句中可以进行资源清除的工作,如

                关闭打开文件

               删除临时文件

               ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是使用Java异常处理中的finally语句来求两个数的和的示例代码: ``` import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = , b = , sum = ; try { System.out.print("请输入第一个整数:"); a = scanner.nextInt(); System.out.print("请输入第二个整数:"); b = scanner.nextInt(); sum = a + b; } catch (Exception e) { System.out.println("输入的不是整数!"); } finally { System.out.println("两个数的和为:" + sum); scanner.close(); } } } ``` 在上面的代码中,我们使用了Scanner类来获取用户输入的两个整数a和b,然后计算它们的和sum。由于用户可能会输入非整数的字符,所以我们使用了try-catch语句捕获可能出现的异常,并在catch语句中输出错误信息。无论是否发生异常,我们都需要在finally语句中关闭Scanner对象,并输出两个数的和sum。这样,即使出现异常,我们也能够保证程序能够正常结束。 ### 回答2: Java是一种强类型的编程语言,设计时考虑到了异常处理的问题,因此在使用Java进行开发时,我们要时刻注意异常处理异常处理语句通常分为try、catch和finally三部分,其中finally语句是可选的。 finally语句通常用来处理无论try语句块内是否产生异常,都必须执行的代码,例如关闭文件和数据库连接等操作。在某些情况下,finally语句的作用类似于Java中的析构函数,用于释放资源。 下面我们来看一个案例,实现求两个数的和并输出结果,同时在计算过程中处理可能会出现的异常。 ```java import java.util.Scanner; public class FinallyDemo { public static void main(String[] args) { Scanner input = new Scanner(System.in); int a, b; try { System.out.println("请输入第一个整数:"); a = input.nextInt(); System.out.println("请输入第二个整数:"); b = input.nextInt(); int sum = a + b; System.out.println("两个数的和为: " + sum); } catch (Exception e) { System.out.println("输入的数据不合法,请重新输入!"); } finally { input.close(); System.out.println("程序已结束!"); } } } ``` 在上面的代码中,我们使用了Java中的Scanner类来获取用户输入的数据。使用try代码块来执行用户输入的两个整数的相加操作,如果用户输入的数据不合法会抛出异常,我们在catch代码块中处理这些异常,输出错误提示信息。在finally代码块中,我们关闭了Scanner类的输入,释放了资源,并输出“程序已结束”的提示信息。 总之,Java异常处理finally语句的作用非常重要,能够有效地避免程序资源损失,保证程序的健壮性和可靠性,值得我们开发人员认真对待。 ### 回答3: Java是一种面向对象编程语言,具有良好的异常处理机制。在Java中,可以使用try-catch-finally语句处理异常finally语句用于定义无论异常是否抛出都要执行的代码块,即资源的释放操作和清理工作。finally块通常用于关闭打开的文件、释放内存或清理网络连接等。 当需要求两个数的和时,可以按以下步骤进行: 1. 创建一个Scanner对象,用于从控制台输入两个数。 2. 使用try-catch-finally语句处理可能出现的异常,包括输入的数不是数字等情况。 3. 在try块中获取输入的两个数,并进行相加的计算操作。 4. 在catch块中捕获可能出现的异常,并输出异常信息。 5. 在finally块中关闭Scanner对象,释放资源。 下面是完整的Java代码示例: import java.util.Scanner; public class TestCode { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = 0; int b = 0; try { System.out.println("请输入第一个数:"); a = scanner.nextInt(); System.out.println("请输入第二个数:"); b = scanner.nextInt(); int sum = a + b; System.out.println("两个数的和为:" + sum); } catch (Exception e) { e.printStackTrace(); System.out.println("输入的不是数字,请重新输入!"); } finally { scanner.close(); } } } 在该代码中,Scanner对象被创建出来,后续在try语句中获取输入的两个数,并执行相加的计算操作。如果在输入过程中出现异常,程序会跳转到catch块中进行异常处理,输出错误信息。finally块用于关闭Scanner对象,释放资源。以上就是使用finally语句求两个数的和的Java代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值