SonarQube: (Catch a list of specific exception subtypes instead)(SonarQube:(改为获取特定异常子类型的列表))
问题描述
我有一个关于通用异常的问题.当您尝试执行多项操作时,我们如何知道要使用哪个非泛型异常.
I have a question about generic exceptions. How would we know which non-generic exception to use when you have a try that does multiple things.
例如:
@PostConstruct
protected void init() {
try {
HttpSession session = request.getSession();
String policyInfo = (String) session.getAttribute("policyInfo");
if(session.getAttribute("faxNumber") != null) {
faxNumber = (String) session.getAttribute("faxNumber");
}
policyNumber = (String) session.getAttribute("policyNumber");
JSONObject policyInfoObj = new JSONObject(policyInfo);
JSONArray policiesArr = policyInfoObj.getJSONArray("policies");
if (policiesArr.length() > 0) {
JSONObject policyObj = policiesArr.getJSONObject(0);
JSONArray insuredVehicle = policyObj.getJSONArray("insuredVehicle");
checkInsuredVechile(insuredVehicle);
termStartDate = policyObj.getString("effectiveDate");
JSONArray addressArray = policyObj.getJSONArray("address");
policySource = policyObj.getString("policySource");
checkAddressArry(addressArray);
}
policyNumber = policyNumber.substring(0,5)+"-"+policyNumber.substring(5,7)+"-"+policyNumber.substring(7);
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
}catch(Exception e) {
logger.error("Exception in getting policy details",e);
}
}
所以对于 catch(Exception e) {
它将需要一个非泛型异常,但我无法确定它可能是什么.
So for catch(Exception e) {
it will need a non-generic exception, but I am having trouble to determine what it can be.
推荐答案
您应该只捕获特定的异常,例如:
You should catch only specific exeption like:
catch(org.json.JsonException e)
而不是基类Exception
,这意味着所有可能的已检查和未检查的异常
and not the base class Exception
, which means all possible checked and unchecked Exceptions
这篇关于SonarQube:(改为获取特定异常子类型的列表)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:SonarQube:(改为获取特定异常子类型的列表)
基础教程推荐
- 降序排序:Java Map 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01