기본 예외 처리


try
{
	// 예외 발생 조건
}
catch(Exception ex)
{
	throw ex;
	// 예외 발생 시 실행
}
finally
{
	// 마지막에 무조건 실행
}

throw


throw와 throw ex의 차이

던져진 예외 안에 스택 추적 정보(stack trace information)이 있는지의 여부다.

  1. 꼭 필요한 경우에만 예외를 잡자.
  2. 예외를 연속적으로 던져버리고 싶다면, throw를 사용하자
  3. 잡은 예외에 뭔가 더해서 던지고 싶다면, 항상 inner exception으로 origianl exception을 전달하자
// 3번에 해당하는 코드
try
{

}
catch(Exception ex)
{
	throw new ApplicationException("예외 발생!", ex)
}

사용자 정의 예외 만들기

책에 의하면 실무에서 잘 사용하지 않는다고 한다.

→ 경험해보니 라이브러리를 직접 만들지 않는 이상 잘 쓸일이 없긴함.