방프리

21.09.19 Chapter5. 예외처리 (Item 45) 본문

C#/Effective C#

21.09.19 Chapter5. 예외처리 (Item 45)

방프리 2021. 9. 19. 12:09

Item 45 : 메서드가 실패했음을 알리기 위해서 예외를 사용하라

 

개발자라면 예외처리는 항상 유념해두어야 하는 항목 중 하나이다. 

그리고 예외처리라고 하면 가장 먼저 떠오르는 것은 바로 try/catch 일 것이다.

하지만 해당 주제에서 저자는 try/catch 뿐만이 아닌 메서드의 분할을 통해서 좀 더 세밀하게 예외 처리하는

방식을 추천하고 있다.

public class DoesWorkThatMightFail
{
    public bool TryDoWork()
    {
        if (!TestConditions())
            return false;
            
        Work();
        return true;
    }
    
    public void DoWork()
    {
        Work();
    }
    
    private bool TestConditions()
    {
        return true;
    }
    
    private void Work()
    {
    }
}

TryDoWork() 함수처럼 일단 해당 동작의 유효성을 판단한 후에 실질적인 처리는 DoWork()에서 하는 것이다.

이렇게 한다면 오류 분류를 좀 더 세밀하게 할 수 있고, 예외가 발생할 수 있는 동작을 미리 차단할 수 있기 때문이다.

Comments