java捕获异常类型两次
我们可以在main方法中捕获两次带有不同消息的异常类型吗?我想打印一个不同的警告
例:
try {
// some code
} catch (NumberFormatException e) {
System.out.println("Wrong input!");
} catch (NumberFormatException e) {
System.out.println("No valid number!");
}
你可以在下面搜索框中键入要查询的问题!
我们可以在main方法中捕获两次带有不同消息的异常类型吗?我想打印一个不同的警告
try {
// some code
} catch (NumberFormatException e) {
System.out.println("Wrong input!");
} catch (NumberFormatException e) {
System.out.println("No valid number!");
}
# 1 楼答案
您不能捕获同一异常两次
考虑下面的例子,
这里,
两个处理程序都打印错误消息。第二个处理程序不做其他事情。通过捕获第一个处理程序未捕获的任何IOException,它允许程序继续执行
除了打印消息外,第一个处理程序还抛出一个用户定义的异常
# 2 楼答案
不能捕获同一异常类型(如
NumberFormatException
)两次。我建议您捕获一次,但在catch块中,您可以打印两条消息# 3 楼答案
您不能捕获同一异常两次
您可以做的是在代码中抛出一个自定义异常,并在需要不同行为时捕获它
# 4 楼答案
据我所知,您希望为您的异常显示正确的消息: