좋은 생각이고 커뮤니티를 쿼리하고 싶다면 확실하지 않습니다. Exception 인스턴스를 데이터 전송에만 사용하고 던지지 않는 것은 어떻습니까? 그것은 로깅이나보고 목적으로 어떤 종류의 컨테이너에 예외 정보를 전달해야하는 상황을위한 것입니다. 예외의 데이터 구조는 필자의 프로그램에서 전달해야하는 정보와 유사하기 때문에 필자는 그것을 고려하고있다.예외 클래스를 전송 메커니즘으로 만 사용 하시겠습니까?
예외 인스턴스는 예외적으로 발생시킬 필요가없는 예외에 대한 정보를 패키지화하는 편리한 방법입니다. 예를 들어 예외적 인 데이터는 웹 서비스 호출에 대한 응답으로 상태 정보 (예 : XML)로 반환됩니다. 나는 이것을 처리하기 위해 예외 처리 시스템과 그 자원을 호출 할 필요가 없다.
Exception 클래스는 시스템 네임 스페이스의 모든 수준에서 이해되므로 다른 어셈블리에서 참조하지 않거나 사용자 지정 클래스를 만들지 않고도 컨테이너로 사용할 수 있습니다. 또한 예외는 메서드의 반환 값과 같이 일반적인 개체로 처리 될 수 있으므로 throw 할 필요가 없습니다.
플러스 앱은 원하는 경우 던지기 시작하도록 선택할 수 있습니다.
내 경우에는 개념적으로 상위 수준의 정보를위한 데이터 컨테이너로 사용하기 때문에 실제 .NET 예외가 아니라 스택 추적이 없을 것입니다. 물론 높은 수준의 개념은 앱과 관련된 메시지와 소스를 가지고 있습니다. –
이것이 ** 오류 ** 인 경우, 일부 추적 로그 메시지가 아니라 해당 메시지를 _ 생시키는 곳에 던져 야합니다. 오류가 '저수준'일 필요는 없습니다. 새 BusinessRuleFailedException을 throw하는 것과 관련해서는 잘못된 것이 없습니다 ("이것은 우주를 다시 시작한 고급 수준의 blablabla입니다."). 그리고이 사건을 다루는 것은 코드의 책임입니다. –
나는 downvote에 대한 이유를 보지 못했다. –