-
2024.03.11 - 예외 처리(Exception Handling)C# 2024. 3. 12. 03:11
- 예외 처리(Exception Handling)
예외(Exception)란 프로그래머가 생각한 시나리오에서 벗어나는 사건을 말한다. 예외가 프로그램의 오류나 다운으로 이어지지 않도록 적절하게 처리하는 것을 예외 처리라고 한다.
- 예외를 만들어 보자
흔히 하게되는 '배열의 인덱스를 벗어난 곳을 참조하기'를 해보자.
배열에서 범위를 벗어난 인덱스 였다고 IndexOutOfRangeException 예외 객체를 던졌다. 던져진 예외 객체를 Main에서 처리해주지 못하면, CLR(Common Language Runtime)에서 예외 내용을 출력한 뒤 프로그램을 강제로 종료한다. 갑자기 죽어버리는 프로그램은 신뢰할 수 없다. 프로그래머는 코드내에서 예외가 처리될 수 있도록 해야한다.
- try ~ catch로 예외를 받기
try안의 코드가 예외 객체를 던지면, catch 블록이 받아 안의 코드를 실행한다.
try
{
//실행하려는 코드
}
catch (예외_객체_1)
{
//예외가 발생했을 때의 처리
}
catch (예외_객체_2)
{
//예외가 발생했을 때의 처리
}try ~ catch를 활용해서 다시 배열을 출력하려 해보자
Message는 예외 객체(Exception 클래스)의 속성중 하나. - throw로 의도적으로 예외를 던지기
치명적인 오류를 발생시킬 것 같은 코드가 있을 때, 의도적으로 오류를 발생시켜 처리를 유도할 수도 있다.
throw로 InvalidOperationException 오류 객체를 던진다. 'C#' 카테고리의 다른 글
2024.03.12 - 스택(Stack) (0) 2024.03.12 2024.03.12 - Nullable Type(?), 조건 연산자(?:), null 조건부 연산자(?.) (0) 2024.03.12 2024.03.11 - 이벤트(event) (0) 2024.03.12 2024.03.11 - 대리자(Delegate) (0) 2024.03.11 2024.03.08 - 일반화(Generic), 형식 매개변수 제약(where T :) (0) 2024.03.11