처리 할 수있는 예외 만 잡아야한다는 것을 읽었으며 기본 예외 클래스 (이 경우 C #)를 잡는 것은 나쁜 생각입니다 (다른 이유로). 나는 현재까지 아직 예외가 발견되지 않은 것을 아직 보지 못한 프로젝트의 일부입니다. 그렇게하는 것은 나쁜 습관으로 여겨지지만 "이 서비스는 연중 무휴 24 시간 실행해야하므로 그렇게해야합니다."라고 대답했습니다.
연중 무휴 24 시간 실행해야하는 프로그램에서 예외를 올바르게 처리하는 방법에 대한 좋은 응답이 없었으므로 지금 여기에 있습니다. 24 시간 내내 실행해야하는 "중요한"프로그램 / 서비스에서 예외 처리를 처리하는 방법에 대한 정보 / 제안을 찾지 못했습니다. 또는 두 개이므로 중요하지 않습니다. 나는 그것이 프로그램의 정확한 본질에 달려 있음을 이해합니다. 생명을 위협하는 문제를 일으킬 수있는 프로그램의 요구 사항은 온라인 게임의 로그 스캐너와는 상당히 다릅니다.
두 가지 예 :
1 : Brittish 철도 고객을위한 자동 검색 서비스로서, 온라인으로 기차역을 검색 할 때 사용됩니다.
2 : 트랙, 기차 등의 다양한 센서에서 제공하는 실시간 정보를 기반으로 위 철도의 철도 스위치를 자동으로 제어하는 프로그램.
첫 번째 프로그램은 1 ~ 2 분 동안 다운 된 경우 큰 문제를 일으키지 않을 것입니다. 후자는 인명 피해를 일으킬 수 있습니다. 각각을 다루는 방법에 대한 제안? 이 문제에 대한 추가 정보와 생각을 찾을 수있는 곳을 가리키는 포인터?
catch Exception
. 그렇다고 프로그램이 작동 한다는 의미는 아닙니다. 실패로 인해 애플리케이션 상태가 계속 실행되는 동안 손상되어 훨씬 더 위험한 장소가 될 수 있습니다. 충돌 한 프로그램은 비참한 것일 수 있지만, 유효하지 않은 상태이지만 여전히 작업을 수행하는 프로그램은 적극적으로 비참한 것일 수 있습니다 .