2011년 3월 17일 목요일

Return Error Code or Throw Exception

예외처리는 빠짐없이 하는 것이 안정적인 프로그래밍을 위해서 가장!! 중요하다.
그 다음에는  예외처리의 강도를 잘 구분하는 것 또한 중요하다.

보통의 함수처리에서의 에러처리는 return code로 하던가, exception을 throw하게 된다.
return code로 error처리를 할 경우에는
caller에게 successful scenario대로 이뤄지지 않았음을 알려주고, error code를 리턴한다.
( error_code를 리턴하는 것은 exception catch보다 코딩이 편리하기 때문에 애용된다.)
그렇지 않고 return value가 필요한 경우가 많기 때문에,
error code를 받아야 할 경우에는, Exception으로 처리하기도 한다.
이에 대한 일관성이 필요하다.

또는, exception은 caller에게 '너 미쳤니?' 또는 '나 미쳤어!'라는 메시지를 알려주기 위해서 쓰인다. ( 미쳤다는 뜻은, assumption(가정)에 어긋나는 것에 대해서 메시지를 전달하는 비유적 표현이다. )
즉, caller는 callee와는 약속에 의해서 진행되는데,
약속에 없는 값을 주게되면, '너 미쳤니?'라고 말할 수 있다.
또는 caller의 책임이 없지만, callee가 해당 약속을 못 지키게 되면 '나 미쳤어!'라고 전달하는 것이다.

도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^