예외

예외란 실행 중 발생하는 오류이다.

 

try: 예외가 발생할 수 있는 코드를 시도한다.

catch: 예외가 발생했을 때 발견하고 처리한다.

finally: 예외가 발생하든 안하든 상관없이 항상 실행한다.

 

int x;
int y;
double result;

try
{
    Console.Write("숫자1: ");
    x = Convert.ToInt32(Console.ReadLine());

    Console.Write("숫자2: ");
    y = Convert.ToInt32(Console.ReadLine());

    result = x / y;

    Console.WriteLine("결과: " + result);
}
catch (FormatException e)
{
    Console.WriteLine("숫자만 입력해주세요.");
}
catch (DivideByZeroException e)
{
    Console.WriteLine("0으로 나눌 수 없습니다.");
}
catch (Exception e)
{
    Console.WriteLine("예기치 못한 오류가 발생헀습니다.");
}

catch문은 여러 개를 추가할 수 있다. 예상치 못한 오류가 발생할 경우를 대비하기 위해 Exception e 예외를 마지막에 추가한다.

 

finally는 예외가 발생했는지 여부에 상관없이 실행되기 때문에 보통 try-catch문 뒤에 실행되도록 한다.

double x;
double y;
double result;

try
{
    Console.Write("숫자1: ");
    x = Convert.ToInt32(Console.ReadLine());

    Console.Write("숫자2: ");
    y = Convert.ToInt32(Console.ReadLine());

    result = x / y;

    Console.WriteLine("결과: " + result);
}
catch (FormatException e)
{
    Console.WriteLine("숫자만 입력해주세요.");
}
catch (DivideByZeroException e)
{
    Console.WriteLine("0으로 나눌 수 없습니다.");
}
catch (Exception e)
{
    Console.WriteLine("예기치 못한 오류가 발생헀습니다.");
}
finally
{
    Console.WriteLine("실행이 완료되었습니다.");
}

finally는 일반적으로 리셋하기 위해 열려있는 파일을 모두 닫게 만들 때 사용한다.

 

'C# > C#' 카테고리의 다른 글

28. 문자열 보간(String Interpolation)  (0) 2023.10.12
27. 조건 연산자(Conditional Operator)  (0) 2023.10.11
25. params 키워드(Params Keyword)  (0) 2023.09.28
24. 오버로딩(Method Overloading)  (0) 2023.09.26
23. 리턴(Return Keyword)  (0) 2023.09.20

+ Recent posts