-
예외(Exception)Programing/C# 2008. 8. 5. 14:04예외(Exception)란 프로그램 실행도중 발생하는 오류를 말한다.
에러는 그 발생 상황에 따라 크게 2가지로 나눌수 있는데 비교적 쉽게 에러를 찾을수 있는 오타나 문법적인 에러의 컴파일타임 에러와 디버깅 절차를 거치지 않으면 거의 잡기 힘든 상황의 런타임에러로 구분할 수 있다. 예외란 일반적으로 런타임 상황에 나타나는 오류를 의미한다.
try ~ catch 문
일반적으로 런타임 예외처리는 try ~ catch를 사용한다.
try문에서 예외가 발생할 가능성이 있는 코드의 영역을 지정해 주고, catch문에서는 발생한 예외나 throw 명령으로 전달된 예외를 처리하게 된다.
즉 try는 예외 감시가 이며, catch는 예외처리기 역할을 하게 된다.
경우에 따라서는 여러개의 에러발생을 처리하기 위해 다중 catch문을 사용해야 할때가 있는데 이때 주의해야 할 점은 각각의 catch문은 반드시 서로 다른 종류의 예외를 처리해야하며, 사용될 예외 객체는 하위 예외타입을 상위 예외타입보다 먼저 사용해야 하는 것이다.
또 만약 예외가 일어나더라도 실행이 멈추거나 하는 일이 생기면 안되는 작업물일 경우엔 예외의 발생 여부에 관계없이 반드시 최종적으로 한번은 수행하도록 하여 프로그램의 뒷마무리 작업을 하게 해야 하는 상황이 있는데 그 역활을 해주는 것이 바로 finally문 이다.try{
// 예외를 발생시킬 가능성이 있는 코드
}catch(예외타입1 변수명){
//예외1이 발생했을 때 실행되는 코드
}catch(예외타입2 변수명){
//예외2가 발생했을 때 실행되는 코드
}finally{
// 필수 실행 코드
}
예를 들어 데이터베이스를 관리하는 코드에서는 예외가 발생하든말든 마지막에 연결을 닫아주어야 하는데 그런곳에 finally를 사용하면 된다.
'Programing > C#' 카테고리의 다른 글
연결형 스트림 소켓과 비연결형 데이터그램 소켓 (0) 2009.03.18 IPHostEntry 와 IPEndPoint (0) 2009.03.18 생성자에서의 this 와 base (0) 2008.08.27 가비지 컬렉션(Garbage Collection) (0) 2008.08.13 이벤트(Object sender, EventArgs e) (0) 2008.08.06 컬렉션(Collection) 클래스 (0) 2008.08.05 컬렉션(Collection) 인터페이스 (0) 2008.08.01 델리게이트(delegate) (0) 2008.07.23 DirectoryInfo 와 FileInfo (0) 2008.05.14 [ 윈폼 - 스크래치] 3부. 마우스 이벤트 (0) 2008.01.09