我有一个父类“DownloadManagerWrapper.java”,我正在调用“DownloadManager.java”中存在的方法。如果出现异常,我想抛出异常并停止程序执行,同时我想使用 log4j 在日志文件中记录错误。
我cacheUploadLog(intfcode,bankId)
从方法调用downloadDataCore()
方法。所以我觉得我在两个地方记录了相同的错误:
- 从
cacheUploadLog()
方法 - 在
downloadDataCore()
捕获方法抛出的异常之后cacheUploadLog()
。
是否需要拥有try
并catch
阻止内部downloadDataCore()
方法?
请提供您的建议并帮助我处理这里的异常和处理。
下载ManagerWrapper.java
public static void readInterfaceConfig(String intfCode, String bankId,String downloadId) {
DownloadManager manager = new DownloadManager();
manager.downloadDataFromCore(intfCodeFromDB, bankId, downloadId);
}
下载管理器.java
public String downloadDataFromCore(String intfcode, String bankId, String downloadId) throws DownloadCoreDataException {
try
{
// here it contain some other code. formatting code, splitting, and other logic. may be a chance there might exception arise here.
cacheUploadLog(intfcode, bankId);
cacheDownloadConfig(intfcode, bankId);
} catch (DownloadCoreDataException exception) {
errorLogger.error("Error in downloaddatafromcore method", exception);
throw new DownloadCoreDataException("Error in downloaddatafromcore method", exception);
}
}
private void cacheUploadLog(String intfcode, String bankId) throws DownloadCoreDataException {
try{
String lastDownloadedTime = getLastDownloadedTime(intfcode, bankId);
} catch (Exception exception) {
errorLogger.error("Error in getting primary_key from update_log table",exception);
throw new DownloadCoreDataException("Error in getting primary_key " +
"from update_log table",exception);
}
}