gpt4 book ai didi

c# - 我可以执行一个try block 对应的多个catch block 吗?

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:12 26 4
gpt4 key购买 nike

假设我有一个包含 3 个语句的 try block ,它们都会导致异常。我希望所有 3 个异常都由它们相关的 catch block 处理。这可能吗?

像这样-->

class multicatch
{
public static void main(String[] args)
{
int[] c={1};
String s="this is a false integer";
try
{
int x=5/args.length;
c[10]=12;
int y=Integer.parseInt(s);
}
catch(ArithmeticException ae)
{
System.out.println("Cannot divide a number by zero.");
}
catch(ArrayIndexOutOfBoundsException abe)
{
System.out.println("This array index is not accessible.");
}
catch(NumberFormatException nfe)
{
System.out.println("Cannot parse a non-integer string.");
}
}
}

是否可以得到如下输出? -->>

Cannot divide a number by zero.
This array index is not accessible.
Cannot parse a non-integer string.

最佳答案

Is it possible to obtain the following output?

不会,因为只会抛出其中一个异常。一旦异常被抛出,执行就会离开 try block ,并假设有一个匹配的 catch block ,它会在那里继续。它不会返回到 try block 中,因此您不会以第二个异常结束。

参见 Java tutorial有关异常处理的一般类(class),以及 section 11.3 of the JLS了解更多详情。

关于c# - 我可以执行一个try block 对应的多个catch block 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16927406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com