반응형
아래 글은 C# 예외처리 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
- C# 교과서(길벗 출판사) - 26단원 예외 처리하기 349 ~ 361페이지
- 유튜브채널 VisualAcademy [C# 교과서 마스터하기 26. 예외 처리하기(Exception)]
https://www.youtube.com/watch?v=C781teBX52U
예외의 의미
- 프로그램 실행 도중 발생하는 예상치 못한 오류
-> 오류(Error) === 예외(Exception) - 처리되지 않은 예외는 프로그램의 실행을 중단시키는 원인
-> 강제종료 => 정상 종료로 처리가 필요 - 신뢰도 및 안정성 측면에서 매우 중요
-> 예외 처리(Exception Handling)를 통한 강제 종료 방지
예외(오류)의 종류
- 문법(컴파일) 오류
- 런타임 오류
- 알고리즘(논리) 오류
1. 문법(컴파일) 오류
- 잘못된 명령어 입력
- 타이핑의 실수로 발생
▶ 문법 오류를 방지하려면 많은 예제를 접해가면서 프로그래밍의 기초문법을 확실하게 이해해야함
2. 런타임 오류
- 런타임 오류는 프로그램 작성 후 실행할 때 발생하는 오류
- 많은 테스트를 통해서 해결
3. 알고리즘(논리) 오류
- 주어진 문제에 대한 잘못된 해석으로 잘못된 결과를 초래하는 에러를 알고리즘 오류 또는 로직 오류라고 함
- 문법 오류나 런타임 오류를 쉽게 발견해 낼 수 있지만, 알고리즘 오류는 처리 결과가 틀리게 나왔는데도
알 수 없는 경우가 많기 때문에 이 알고리즘 오류를 해결하기가 가장 어려움 - 알고리즘 오류를 해결하기 위해선 코드를 분석 및 많이 만들어 보면서 오류를 찾아내는 능력을 키워야함
예제코드 (C#교과서 360페이지)
using System;
class ExceptionHandling
{
static void Main()
{
int a = 3;
int b = 0;
try
{
//[1] b가 0이므로 런타임 에러 발생
a = a / b;
}
catch (Exception ex)
{
Console.WriteLine($"예외(에러)가 발생됨: {ex.Message}");
}
finally
{
Console.WriteLine("try 구문을 정상 종료합니다.");
}
try
{
//[2] Exception 클래스에 에러 메시지 지정하여 무조건 에러 발생
throw new Exception("내가 만든 에러");
}
catch (Exception e)
{
Console.WriteLine($"예외(에러)가 발생됨: {e.Message}");
}
finally
{
Console.WriteLine("try 구문을 정상 종료합니다.");
}
}
}
반응형
'프로그래밍언어 & 프레임워크 > C#' 카테고리의 다른 글
C# 대리자(Delegate) (0) | 2021.05.20 |
---|---|
C# 속성(Property) (0) | 2021.05.20 |
C# 인터페이스(Interface) (0) | 2021.05.18 |
WPF UI 코딩 배우기1 (0) | 2021.04.25 |
셀레니움(Selenium)을 활용한 스마트스토어 자동 로그인[C#] (0) | 2020.11.02 |