親クラス「DownloadManagerWrapper.java」が 1 つあり、「DownloadManager.java」にあるメソッドを呼び出しています。例外が発生した場合は、例外をスローしてプログラムの実行を停止し、同時にlog4jを使用してログファイルにエラーを記録したいと考えています。
cacheUploadLog(intfcode,bankId)
メソッドからメソッドを呼び出していdownloadDataCore()
ます。したがって、同じエラーを2か所のファイルに記録しているように感じます。
cacheUploadLog()
メソッドから- メソッド
downloadDataCore()
によってスローされた例外をキャッチした後。cacheUploadLog()
メソッド内でブロックする必要がtry
ありますか?catch
downloadDataCore()
あなたの提案を提供し、ここで例外と処理を処理するのを手伝ってください。
DownloadManagerWrapper.java
public static void readInterfaceConfig(String intfCode, String bankId,String downloadId) {
DownloadManager manager = new DownloadManager();
manager.downloadDataFromCore(intfCodeFromDB, bankId, downloadId);
}
DownloadManager.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);
}
}