예외 처리 - [C#]

공부/C#  2012.09.22 10:08

안녕하세요. 명월입니다.
이번 포스트는 예외 처리에 대해 공부하겠습니다. 예외 처리는 프로그래머가 계산하지 못한 상황 또는 실행 중에 데이터가 전혀 뜻하지 않는 값을 가지고 있을 때 처리하는 것을 말합니다.





결과에서는 DivideByZeroException에러를 발생했습니다. 0으로 나눌 때 발생하는 에러입니다. 그다음의 finally의 처리식이 표시가 되었습니다.



이 결과는 위에서 먼저 NullReferenceException 에러가 발생했기 때문에 아래의 a = a / b;의 처리는 진행되지 않았습니다. 이번에는 에러를 Exception 클래스가 아닌 하위 클래스를 이용해 예외를 잡아보겠습니다.



프로그램상으로는 에러를 잡아낼 수 없으미로 디버깅오류로 검출됩니다. Exception은 DivideByZeroException나 NullReferenceException의 상위클래스인데,
하위 클래스에서 발생한 것은 상위클래스로 치환이 가능하기(추상, 상속의 개념) 때문에 Exception을 하면 모두 잡아냅니다.
그래서 보통은 Exception으로 설정하나 Exception마다 다른 설정을 하면 try ~ catch(NullReferenceException) ~ catch(Exception) ~ finally 순으로 설정하면 됩니다.


이번에는 반대로 Exception을 발생시키는 방법에 대해 공부하겠습니다.





클래스를 생성할 때 throw로 에러를 발생시켜서 Main 함수에서 try ~ catch 되는 화면입니다.

'공부 > C#' 카테고리의 다른 글

쓰레드 - Thread 클래스 [C#]  (4) 2012.09.26
String 클래스 와 StringBuilder 클래스 차이 [C#]  (7) 2012.09.25
MSDN - MS계 언어의 SDK [C#]  (0) 2012.09.24
어튜리뷰트 - (Atturibute) [C#]  (2) 2012.09.23
예외 처리 - [C#]  (0) 2012.09.22
이벤트(Event) - [C#]  (0) 2012.09.21
델리 게이트(delegate) - [C#]  (0) 2012.09.20
인터페이스 [C#]  (0) 2012.09.19
sealed 클래스 [C#]  (2) 2012.09.18

댓글 0개가 달렸습니다.
댓글쓰기