C# 연습

C#에서 업무용 예외 직접 정의하기

이 레슨에서는 업무 오류를 나타내는 예외 타입을 직접 만들고 그 오류만 정확히 잡습니다.

소개

일반적인 Exception을 던지는 대신, 재고 부족처럼 업무 오류를 분명히 설명하는 이름의 예외를 정의할 수 있습니다. 그러면 코드가 더 읽기 쉬워지고, 오류 처리 코드는 처리해야 할 오류만 정확히 잡을 수 있습니다.

InsufficientStockException 클래스는 Exception을 상속하므로 일반 예외의 동작을 모두 가집니다. Reserve 메서드는 요청한 수량이 남은 재고보다 많으면 이 예외를 던집니다. catch 블록은 InsufficientStockException 타입만 잡아 Not enough stock 메시지를 출력합니다.

실행 가능한 C# 예제

C#
코드 실행 →
Program.cs
using System;
class InsufficientStockException(string message) : Exception(message) { }
class Program
{
    static void Reserve(int available, int requested)
    {
        if (requested > available) throw new InsufficientStockException("Not enough stock");
    }
    static void Main()
    {
        try { Reserve(2, 3); }
        catch (InsufficientStockException error) { Console.WriteLine(error.Message); }
    }
}
실행 결과
Not enough stock

디버거로 연습하기

중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지