[C#]16.예외처리하기
- 프로그래밍 언어 - C#
- 2019. 1. 13. 13:28
안녕하세요 유랑입니다.
이번 시간에는 예외를 처리하는 방법에 대해서 알아보겠습니다.
프로그래머가 생각하는 틀에서 벗어나는 사건,
생각만해도 끔직한데요. 과연 이 예외처리를 어떻게 해야 될까요?
1. 예외 처리
예외가 프로그램의 오류나 다운으로 이어지지 않도록 처리하는 것을 예외 처리라고 합니다.
이런 예외 처리하는 기법에 대해서 알아보겠습니다.
1-1) 예외에 대해서
예외를 처리하기 전에 예외가 발생하는 결과를 확인하겠습니다.
코드를 통해서 알아보겠습니다.
1-2) 예외 받기 - try ~ catch
예외가 발생하면 안전하게 받아 처리하는 프로그램을 만들어 보겠습니다.
try 절 안에 예외가 일어나지 않을 경우에 실행되는 코드들이 들어가고,
catch 절에는 예외가 발생했을 때의 처리 코드가 들어갑니다.
코드를 통해서 알아보겠습니다.
1-3) 예외 던지기 - Throw
try ~ catch 문으로 예외를 받는다는 것은 어디선가 예외를 던진다는 소리입니다.
예외를 어떻게 던지는지 코드를 통해서 알아보겠습니다.
1-4) 예외 던지기 - ThrowExpression
C# 7.0부터는 throw를 조건문이 아닌 식으로도 상용할 수 있습니다.
코드를 통해서 알아보겠습니다.
1-5) 예외 받기 - finally
예외가 발생하거나, 발생하지 않을 경우 마무리를 할 수 있는 코드를 넣기에는 부적합합니다.
try와 catch에 마무리 하는 코드를 각각 넣기에는 비효율적이기 때문이죠.
finally 절은 이런 고민은 해결해 줍니다.
1-6) 사용자 정의 예외 만들기
예외 클래스에서 100여 가지가 넘는 예외 형식을 제공합니다.
하지만 사용자가 예외에 뭔가 더 표현할 수도 있겠죠?
예외를 추가적으로 어떻게 정의하는지 코드를 통해서 알아보겠습니다.
1-7) 예외 필터하기
예외에도 제약 사항을 명시해 해당 조건을 만족해야 예외 처리 코드를 실행할게 만들 수 있습니다.
catch() 문 뒤에 when 키워드를 이용해서 제약 조건을 기술하면 됩니다.
1-8) 효과적인 예외처리
try ~ catch 문을 이용한 예외 처리는 코드를 간결하게 분리시켜 주고,
문제가 발생한 부분의 소스 코드 위치를 알려주기 때문에 디버깅에 아주 용이합니다.
2. 마무리
오늘은 예외 처리 방법에 대해서 배워보았습니다.
예외처리를 통해서 시스템의 치명적인 오류를 막아줄 수 있겠네요.
오늘도 고생하셨습니다.
감사합니다.
수업자료: https://github.com/YouRang12/-Tistory-CShop---Basic