C#/프로그래밍 고급

C# 프로그래밍 고급 - 04. 예외처리

tita 2024. 5. 29. 23:07

프로그램이 실행되는 동안 문제가 발생하면 프로그램이 자동으로 중단됩니다. 

이렇게 실행중에 발생한 오류를 예외(Exception)라고 부르고 이런 오류를 대처할 수 있게 하는 것을 예외 처리라고 부릅니다.

 

프로그램이 컴파일조차 안 되게 하는 문법적인 오류는 예외가 아닙니다.

이러한 경우는 컴파일 시점 오류 또는 문법 오류라고 부릅니다.

 

 

[고급 예외 처리]

고급 예외 처리는 try 키워드, catch 키워드, finally 키워드로 예외를 처리하는 방법입니다.

이를 try catch finally 구문이라고 부르고 형식은 다음과 같습니다.

try
{
    // 예외가 발생하면
}
catch(Exception exception)
{
    // 여기서 처리합니다.
}
finally
{
    // 여기는 무조건 실행합니다.
}

 

catch 구문과 finally 구문은 필요 없다면 둘 중 하나는 생략하고 사용할 수 있습니다.

 

숫자를 입력받는 프로그램을 만들었는데 여기서 문자를 입력하는 예외를 처리하는 예제를 살펴보겠습니다.

static void Main(string[] args)
{
    Console.Write("입력 : " );
    string input = Console.ReadLine();
    
    try
    {    
        int index = int.Parse(input);
        Console.WriteLine("입력 숫자 : " + index);
    }
    catch(Exception exception)
    {
        Console.WriteLine("예외가 발생했습니다.");
        Console.WriteLine(exception.GetType());
    }
    finally
    {
        Console.WriteLine("프로그램이 종료되었습니다.");
    }
}

/*
[실행 결과]
입력 : ㅇㅅㅇ
예외가 발생했습니다.
System.FormatException
프로그램이 종료되었습니다.
*/