gpt4 book ai didi

java - 从抛出异常的方法中恢复

转载 作者:行者123 更新时间:2023-11-29 07:10:34 25 4
gpt4 key购买 nike

我是 java esp 的新手。一些编码实践。我遇到这样一种情况,方法抛出 NullPointerException 并且调用方法捕获它。

try {
String test = Class.method(arg)
}
catch (Exception ex) {
...
}

public String method(arg){
String str;
...
if(str == null) throw(exception)
return str;
}

现在 Class.method(arg) 中的一些方法抛出一个 NullPointerException 并且它被捕获在上面的 catch 中(如上)。相反,我想做类似的事情:

if (test == null) { do something else }

在 try block 中。

处理此问题的最佳方法是什么?我可以删除 throw inside 方法并使其返回 null 吗?

最佳答案

您应该在 method(arg) 中捕获异常并返回 null 以防出现任何异常。

示例程序:

public class Test1 {

public static void main(String[] args) {
try{
String test = method("1");
if(test==null){
//do something else
}
}catch(Exception e){

}

}

private static String method(String str) throws Exception{
if(str.equals("1")) return null;
else if(str.equals("2")) throw new Exception("My Exception");
else return str;
}

}

现在你可以把方法改成这样,这完全取决于你的要求:

    private static String method(String str) throws Exception{
try{
if(str.equals("1")) return null;
else if(str.equals("2")) throw new Exception("My Exception");
else return str;
}catch(Exception e){
return null;
}

}

关于java - 从抛出异常的方法中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14247731/

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