문제

인 프레임워크는 다음과 같 log4j&log4net 있 로그인 할 수있는 기능 다양한 수준의 정보입니다.대부분의 수준이 명백한 의도(와 같은"디버그"로그는 대서"오류").그러나,한가지는 항상 소심에 있었을 분류하는 내 기록으로는"치명적인".

어떤 종류의 오류는 그래서 심각한 그들은 그들로 분류해야한다는 치명적인?이것은 약간의 경우 중심,어떤 것의 규칙의 엄지손가락을 사용하여 결정할 때 기록 간에는 예외로 치명적이거나 단순히 오류가?

도움이 되었습니까?

해결책

응용 프로그램이 더 유용한 작업을 수행 할 수 없을 때 치명적인 오류가 발생한다고 생각합니다. 치명적이지 않은 오류는 문제가있을 때이지만 기능이나 성능 수준에서도 응용 프로그램이 계속 작동 할 수 있습니다.

치명적인 오류의 예는 다음과 같습니다.

  • 로깅 장치의 디스크 공간이 부족하면 계속 로깅해야합니다.
  • 클라이언트 애플리케이션에서 네트워크 연결의 총 손실.
  • 구성 정보 누락 기본값을 사용할 수없는 경우.

치명적이지 않은 오류에는 다음이 포함됩니다.

  • 단일 세션이 어떤 이유로 실패하지만 다른 클라이언트에 서비스를 제공 할 수있는 서버.
  • 새로운 세션을 설정할 수있는 경우 손실 세션과 같은 간헐적 오류.
  • 구성 정보 누락 기본값을 사용할 수있는 경우

다른 팁

무언가 누락되거나 응용 프로그램이 단순히 계속 될 수없는 상황이 발생하면 오류가 치명적입니다. 가능한 예제는 누락 된 config.file 또는 예외가 '기포가 올라가고'예외 예외 핸들러에 의해 잡히는 경우입니다.

내가 사용하는 것이 치명적일 경우 다음 단계를 위한 응용 프로그램을 종료,또는 단순하지 않을 더 이상 이후의 작동합니다.는 경우 응용 프로그램의 일부입니다,배치 또는 여러 개 있는 실행하는 프로세스,이를 위해 유용할 수 있 추적 무슨 일이 일어났습니다.

이 있는 경우 회복의 기회를(예를 들어,의 손실 네트워크 연결을 시도한다)나는 사용하지 않을 것이라고 치명적이다.

가 있는 경우 여러 서비스는 스레드에 의해 활성화된 메인 스레드 그 중 하나가기 때문에 나쁜 입력하지만 응용 프로그램을 계속해서 서비스를 제공할 수 있습 새로운 요청,나는 그것을 고려하지 않습 치명적이다.

이 답변을 짧고 달콤하게 만들기 위해 응용 프로그램이 충돌하면 치명적이라고 생각합니다. 데이터베이스 또는 필요한 서비스와 같은 중요한 리소스에 연결할 수없는 경우 치명적입니다. 전반적으로, 응용 프로그램이 올바르게 실행되는 것을 막고 사용자에게 영향을 미치는 경우 치명적인 오류로 분류 할 것이라고 말합니다.

그러나 오류를 분류하는 가장 중요한 방법은 규칙 69와 같은 경험 법칙을 지속적으로 따르는 것입니다. C ++ 코딩 표준:

"설계 초기에 실용적이고 일관성 있고 합리적인 오류 처리 정책을 개발 한 다음이를 고수하십시오."

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top