Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# try/catch 블록 사용법 완벽 가이드

예외(Exception)는 프로그램의 한 부분에서 다른 부분으로 제어 흐름을 전달하는 메커니즘입니다. C#의 예외 처리는 try, catch, finally, throw라는 네 가지 핵심 키워드를 기반으로 동작합니다.

C# 예외 처리의 4가지 핵심 키워드

  • try − try 블록은 예외가 발생할 가능성이 있는 코드 영역을 지정합니다. try 블록 뒤에는 반드시 하나 이상의 catch 블록이 따라와야 합니다.

  • catch − 프로그램 내에서 문제를 처리하고자 하는 위치에 예외 핸들러(exception handler)를 배치하여 예외를 잡아냅니다. catch 키워드는 예외를 포착하는 역할을 담당합니다.

  • finally − finally 블록은 예외 발생 여부와 관계없이 항상 실행되는 코드를 담습니다. 주로 파일 닫기, 연결 해제 등 리소스 정리 작업에 활용됩니다.

  • throw − throw 키워드는 예외가 발생했을 때 이를 던져(발생시켜) 호출 스택 상위로 전달하는 역할을 합니다.

try, catch, finally 사용 예제

다음 예제는 C#에서 try, catch, finally 블록을 함께 사용하여 나누기 연산 중 발생할 수 있는 오류를 처리하는 방법을 보여줍니다.

using System;
namespace Demo {
    class DivNumbers {
        int result;
        DivNumbers() {
            result = 0;
        }
        public void division(int num1, int num2) {
            try {
                result = num1 / num2;
            } catch (DivideByZeroException e) {
                Console.WriteLine("Exception caught: {0}", e);
            } finally {
                Console.WriteLine("Result: {0}", result);
            }
        }
        static void Main(string[] args) {
            DivNumbers d = new DivNumbers();
            d.division(25, 0);
            Console.ReadKey();
        }
    }
}

실행 결과

Result: 0

위 예제에서는 0으로 나누기를 시도하기 때문에 DivideByZeroException이 발생합니다. catch 블록이 이 예외를 잡아 오류 정보를 출력하고, 이후 finally 블록이 실행되어 계산된 결과값을 화면에 표시합니다. 이처럼 try-catch-finally 구조를 활용하면 프로그램이 비정상적으로 종료되는 것을 방지하고 안정성을 크게 높일 수 있습니다.