gpt4 book ai didi

Java:抛出异常会杀死它的方法吗?

转载 作者:IT老高 更新时间:2023-10-28 20:55:27 25 4
gpt4 key购买 nike

例如:

public String showMsg(String msg) throws Exception {
if(msg == null) {
throw new Exception("Message is null");
}
//Create message anyways and return it
return "DEFAULT MESSAGE";
}

String msg = null;
try {
msg = showMsg(null);
} catch (Exception e) {
//I just want to ignore this right now.
}
System.out.println(msg); //Will this equal DEFAULT MESSAGE or null?

在某些情况下,我需要基本上忽略异常(通常是当一个方法可以抛出多个异常,而一个在特定情况下无关紧要时),所以尽管我为了简单起见使用了可怜的例子,但还是会返回showMsg 仍然运行还是 throw 实际上返回了方法?

最佳答案

如果抛出异常,return 语句将运行。抛出异常会导致程序的控制流立即转到异常的处理程序(*),从而跳过任何其他方式。因此,如果 showMsg 抛出异常,则特别是 msg 将在您的打印语句中为 null

(*) 除了 finally block 中的语句会运行,但这在这里并不真正相关。

关于Java:抛出异常会杀死它的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962228/

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