catch 블록에서 예외를 throw하여 메시지를 기록하면 예외의 원인이 무엇인지 확신 할 수 있습니까?catch 블록에서 예외를 다시 throw하는 것이 맞습니까?
코드이 방법에 유래 예외, 단지 그 오류를 표시 log.info의 여기에 실제 구현을 던질 것이라고 아래의 코멘트 하나에 대응
public void saveLogs(Logs logs) throws RemoteException
{
try
{
LogsOps.saveLogs(logs);
}
catch (RemoteException e)
{
log.info("RemoteException is thrown while trying to save logs ", e);
throw new RemoteException("RemoteException caused while trying to save", e);
}
}
.
/** Log the message and the exception with a level of INFO.
* @param message - The message text.
* @param t - An exception to display.
*/
public void info(Object message, Throwable t)
{
String nullSafeMessage = (message != null) ? message.toString() : t.getClass().getSimpleName();
log.info(nullSafeMessage, t);
}
따라서 Stackoverflow 예외가 발생하지 않습니다.
stacktrace에 원점이 포함되지 않았습니까?이 문제를 피하려면 가능한 한 설명적인 메시지 여야합니다. 그러나 나는 거의 끝나지 않았다. 다른 어떤 것도 기록하지 않는 한. – jn1kk
실제로 로깅에 예외가 발생했습니다. 그 StackOverFlow 예외 것입니다! – Mukus
@TejaswiRana : StackOverFlow 예외를 던지는 것을 보지 못했습니다. Stack Over Flow 예외가 발생하는 이유는 무엇입니까?, 업데이트 된 질문을 참조하십시오. – Rachel