예외
예외란 실행 중 발생하는 오류이다.
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 |