C# 예외 처리의 핵심 키워드
C#에서 예외 처리(Exception Handling)는 프로그램 실행 중 발생할 수 있는 오류를 안전하게 관리하기 위한 필수 기능입니다. 예외 처리는 다음 네 가지 키워드를 중심으로 구성됩니다.
1. try
try 블록은 예외가 발생할 가능성이 있는 코드를 감싸는 영역입니다. 이 블록 뒤에는 하나 이상의 catch 블록이 반드시 따라와야 하며, 컴파일러는 try 블록 내부의 코드에서 발생하는 특정 예외들을 추적합니다.
2. catch
catch는 프로그램에서 문제가 발생한 지점을 직접 처리하고 싶을 때 사용하는 키워드입니다. 즉, try 블록에서 던져진 예외를 예외 핸들러(Exception Handler)가 잡아내어 적절한 오류 처리 코드를 실행하도록 합니다.
3. finally
finally 블록은 예외가 발생하든 발생하지 않든 항상 실행되어야 하는 코드를 작성하는 곳입니다. 대표적인 예로 파일을 열었다면, 예외 발생 여부와 상관없이 파일을 반드시 닫아야 하는 경우를 들 수 있습니다. 이처럼 리소스 해제 작업에 finally 블록이 자주 활용됩니다.
4. throw
throw는 프로그램에 문제가 나타났을 때 예외를 발생시키는(던지는) 역할을 합니다. 개발자가 의도적으로 예외를 생성해 호출 스택으로 전달하고 싶을 때 이 키워드를 사용합니다.
C# 예외 처리 기본 문법
C#에서 예외를 처리하려면 아래와 같은 구조로 코드를 작성합니다.
try {
// 예외를 유발할 가능성이 있는 코드
} catch( ExceptionName e1 ) {
// 오류 처리 코드
} catch( ExceptionName e2 ) {
// 오류 처리 코드
} catch( ExceptionName eN ) {
// 오류 처리 코드
} finally {
// 예외 여부와 관계없이 항상 실행되는 코드
}이 구조에서는 try 블록에서 예외가 발생하면, 해당 예외의 타입과 일치하는 catch 블록이 순서대로 검색되어 실행됩니다. 어떤 예외가 발생하더라도 finally 블록의 코드는 마지막에 반드시 실행되므로, 데이터베이스 연결 종료나 파일 스트림 닫기 같은 정리(Cleanup) 작업을 배치하기에 가장 적합합니다.