Java面向对象程序设计------异常处理(异常*部分3)

       一个try块可以对应多个catch块,构成多重catch语句块,多重cat ch语句块用于对多个不同的异常类型进行捕获但最多只能选中一个执行。进行异常捕获时不仅应该将 Exceptio 类对应的catch块放在最后,而且所有父类异 常的catch块都应该放在子类异常catch块的后面(先处理小异常 再处理大异常),否则将出现编译错误。 

    示例    

public class MathCale {
        public static void calco() {
                try {
// 创建 Scanner 对象,用于接收控制台输入的数据
Scanner inputnew                             
Scanner(System.in);
System.out.printIn(" 请输入被除数:");
int divisorminput nextint();
System.out.printin(" 请输出除数:");
int dividend=input.nextint();
System.out printin(" 您输入的两个数的是:"+divisor/dividend);
icatchllnputMismatchException e) {
System.err.println("输入不匹配异常:程序只能接收整数");
catch (ArithmeticException e) {
System.errprintln("算数异常:0不能作为被除数"):
        }
catch(Exception e) {
System.err.printin(" 未知异常");
public static void main(String[] args)(
MathCalc.calc();
    }
}

程序运行结果如图:

使用finally回收资源 


        当程序在try代码块中使用Java程序时,打开了一些物理资源,如数据库连接、网络连接或磁盘文件等,这些物理资源都必须通过程序显示回收,为了保证一定能够回收try语句块中打开的物理资源,异常处理机制提供了 finally语句块。无论try语句块中的代码是否出现异常,try语句块时应的任意一个 catch语句块是否被执行,甚至在try或catch语句块中执行了return语句,finally块总会被执行 完整的Java异常处理语法结构如下:


try  { 
    // 代码        
}catch(异常类型 异常对象)  { 
    //异常处理 
finally {
    //资源回收代码 
}

  注意  :

(1)可以使用多个catch 语句块来捕获异常
(2) try语句不能独立存在,其后至少要有一 个 catch语句块或finally 语句块 .
(3)finallv 语句块不是必须存在的,可以根执居需求决定是否添加。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值