一个try可以跟进多个catch语句,用于处理不同情况,当一个try只能匹配一个catch

一个try可以跟进多个catch语句,用于处理不同情况。当一个try只能匹配一个catch。
我们可以写多个catch语句,但是不能将父类型的exception的位置写在子类型的excepiton之前,因为这样父类型肯定先于子类型被匹配,所有子类型就成为废话。JAVA编译出错。
在try,catch后还可以再跟一子句finally。其中的代码语句无论如何都会被执行(因为finally子句的这个特性,所以一般将释放资源,关闭连接的语句写在里面)。
如果在程序中书写了检查(抛出)exception但是没有对这个可能出现的检查结果进行处理,那么程序就会报错。
而如果只有处理情况(try)而没有相应的catch子句,则编译还是通不过。
如何知道在编写的程序中会出现例外呢
1. 调用方法,查看API中查看方法中是否有已检查错误。
2. 在编译的过程中看提示信息,然后加上相应的处理。

package TomText;
//使用间接递归方法,求斐波那契数列第n项。
public class TomText_49 {
    public static void main(String[] args) {
        int x1 = 1;
        int sum = 0;
        int n = 7;
        for (int i = 1; i <= n; i++) {
            x1 = func1(i);
            sum = sum + x1;
        }
        System.out.println("sum=" + sum);
    }
    static int func1(int a){
        int b;
        b=func2(a);
        return b;
    }
        static int func2(int b) {
        if (b> 2)
            return (func1(b - 1) + func1(b - 2));
        else
            return 1;
    }

}

是的,你的理解是正确的。在Java和其他支持try-catch结构的编程语言中,一个try可以跟随多个catch语句,用于处理try块中抛出的不同异常。当try块中的代码抛出一个异常时,程序会立即跳转到与该异常类型相匹配的catch块中。如果没有找到匹配的catch块,程序将终止并抛出未捕获异常。
以下是一个Java的例子:

try {
    // Some code that may throw exceptions
} catch (IOException e) {
    // Handle IOException
} catch (SQLException e) {
    // Handle SQLException
} catch (Exception e) {
    // Handle any other exception
}

在这个例子中,如果try块中的代码抛出IOException或SQLException,那么对应的catch块将处理这些异常。如果没有抛出这些异常,那么最后的catch块(捕获所有异常)将处理任何其他异常。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值