gpt4 book ai didi

java - 避免嵌套的 try/catch

转载 作者:行者123 更新时间:2023-11-30 08:10:48 28 4
gpt4 key购买 nike

import java.util.Scanner;

public class Test{

public static void main(String[] args){

Scanner input = new Scanner(System.in);
String str = input.next();
int a;
try{
try{
a = Integer.parseInt(str);
}
catch(NumberFormatException nfe){
throw new CustomException("message");
}
if (a>50) throw new CustomException("message");
}
catch(CustomException e){
//do something
}
}
}

如果 str 不是数字,parseInt 将抛出一个 NumberFormatException。但我想“转换”它,以便我将有一个带有“消息”的 CustomException。我可以不使用像上面那样的嵌套 try/catch block 来执行此操作吗?

最佳答案

你可以将你的例子改造成

 try {
a = Integer.parseInt(str);
if (a > 50) {
throw new CustomException("message");
}
} catch (NumberFormatException | CustomException e){
//do something
}

关于java - 避免嵌套的 try/catch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511644/

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