gpt4 book ai didi

java - 处理对象映射器异常和缺少返回语句

转载 作者:行者123 更新时间:2023-11-30 05:20:35 25 4
gpt4 key购买 nike

我正在考虑在 catch block 内抛出 RuntimeException 来解决缺少的 return 语句。

如何处理这种情况?

我认为抛出某种异常而不是返回一些无意义的值。 .

private String tryObjMapper(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
//missing return statement
}

最佳答案

这取决于您想要的后备/默认值或错误处理

您有 2 个主要选项(还有 2 个子选项):

1.A.抛出异常:

private String tryObjMapper(Object obj) throws JsonProcessingException  {    
return objectMapper.writeValueAsString(obj);
}

1.B.Rethrow RuntimeException(或自定义未经检查的异常)

private String tryObjMapper(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new RuntimeException("Failed to map obj +" obj, e);
}
}

2.A.定义错误时的默认值

private String tryObjMapper(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;//or other default value
}

2.B.使用单个返回语句定义默认值:

private String tryObjMapper(Object obj) {
String retVal = null;//or other default value
try {
retVal = objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return retVal ;
}

考虑使用记录器记录异常,而不是使用e.printStackTrace()

关于java - 处理对象映射器异常和缺少返回语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59648028/

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