我发现自己的编码方法会抛出指定的错误,但仍然围绕try catch中的相关代码部分,我使用catch来记录本地化的错误消息并重新抛出主要错误消息。
这是一个简短的例子:
public void doWork(String url) throws IOException {
Object target;
try {
target = new target(url); //instantiating this object could potentially not work if the URL is malformed
} catch (MalformedURLException e) {
localErrorMessage(debug, "URL error here"); //log a local message
throw e;
} catch (IOException e) { //in some cases it can throw an IO exception if using a localised file type object.
localErrorMessage(debug, "IO error here"); //log a local message throw e;
}
}
我使用它,因为我可以关闭我的本地化日志记录(使用log4j2),或在测试期间使用它作为调试方法。
这是一种合理的做法,还是有更好的方法呢?