728x90
메서드가 요청된 작업을 제대로 수행하지 않는 경우 예외를 발생시켜서 실패가 있음을 알려야 한다.
반환 코드를 이용하여 오류를 보고하는 방식보다 예외를 이용하는 방법이 더 나은 이유
- 오류 코드를 이용하는 경우 사용자가 쉽게 무시할 수 있다.
- 오류 코드를 검사하고 활용하는 코드 때문에 정상적인 실행 흐름을 방해한다.
그래도 일반적인 실행 흐름을 제어하는 메커니즘으로 예외를 사용해서는 안된다.
반환 코드 특징
- 반환 코드를 이용하는 방식은 메서드의 원형에 영향을 미친다.
- 반환 코드는 계산의 결과를 나타내는 용도로 사용되므로 오류가 발생했다는 사실 이외에 추가적인 정보를 전달하기 어렵다.
- 메서드 호출자에 의해 처리된다.
예외 특징
- 예외는 클래스 타입이므로 개발자가 자신만의 예외 타입을 파생시킬 수 있고, 오류에 대한 정보를 전달할 수 있다.
- 콜 스택을 통해 적절한 catch 문이 구성된 위치까지 전파되므로 에러가 발생한 위치와 처리하는 부분을 분리하여 개발할 수 있다.
- 분리하여 개발 시 예외 클래스를 사용하면 에러에 대한 세부 정보를 잃지 않을 수 있다.
- 쉽게 무시하기 어렵다.
반응형
'개발공부 > C#' 카테고리의 다른 글
[Effective C#] 아이템 47 : 사용자 지정 예외 클래스를 완벽하게 작성하라 (0) | 2021.12.22 |
---|---|
[Effective C#] 아이템 46 : 리소스 정리를 위해 using과 try/finally를 활용하라 (0) | 2021.12.21 |
[Effective C#] 아이템 43: 쿼리 결과의 의미를 명확히 강제하고, Single()과 First()를 사용해라 (0) | 2021.12.18 |
[Effective C#] 아이템 42 : IEnumerable<T> 데이터 소스와 IQueryable<T> 데이터 소스를 구분하라 (0) | 2021.12.17 |
[Effective C#] 아이템 40 : 지연 수행과 즉시 수행을 구분하라 (0) | 2021.12.15 |