카테고리 없음
기본기) 예외 처리 종류 및 정리(Exception)
테샤르
2022. 7. 14. 17:20
예외 처리 종류 및 정리(Exception)
어플리케이션을 실행하는 과정에서 발생하는 오류에 대한 여러가지 상황들을 캐치하는 클래스이다.
가장 대표적으로 많이 보이는 Exception은 다음과 같다.
Exception 이름 | 설명 |
AggregateException | 어플리케이션을 실행하는 동안 하나 이상의 오류 |
NullReferenceException | null 개체 참조를 역참조하려고 할 때 throw되는 예외 |
OutOfMemoryException | 프로그램을 계속 실행하기 위한 메모리가 부족할 때 throw되는 예외 |
IndexOutOfRangeException | 해당 범위 외부에 있는 인덱스를 사용하여 배열 또는 컬렉션의 요소에 액세스하려고 할 때 발생하는 예외 |
InvalidOperationException | 메서드 호출이 개체의 현재 상태에 대해 유효하지 않을 때 throw되는 예외 |
ArgumentOutOfRangeException | 인수 값이 호출된 메서드에서 정의한 값의 허용 범위를 벗어날 때 throw되는 예외 |
Try / Catch /Finally 를 통해서 예외에 대한 여러가지 처리를 가능하다.
반응형
강제종료 시키지 않은 예외(Non-fatal Exception) 가 발생하게되도 꼭 확인을 해보는것을 추천한다.
어플리케이션이 심각한 오류나 ANR 으로 종료가되지 않더라도 잠재적인 오류일 가능성도 존재하기 때문이다.
강제로 특정 상황에서 예외를 발생시키는 방법은 다음과 같다.
throw new ArgumentNullException("You must supply a search string.",e);
혹은 Exception을 Custom 하거나 Message의 내용을 변경해서 상황에 맞게 사용하면된다.
[Serializable]
public class StudentNotFoundException : Exception
{
public string StudentName { get; }
public StudentNotFoundException() { }
public StudentNotFoundException(string message)
: base(message) { }
public StudentNotFoundException(string message, Exception inner)
: base(message, inner) { }
public StudentNotFoundException(string message, string studentName)
: this(message)
{
StudentName = studentName;
}
}
Microsoft Exception Class : [ 링크 ]
Exception 클래스 (System)
애플리케이션 실행 중에 발생하는 오류를 나타냅니다.
docs.microsoft.com
Microsoft Exception Message : [ 링크 ]
Exception.Message 속성 (System)
현재 예외를 설명하는 메시지를 가져옵니다.
docs.microsoft.com
Microsoft .Net 사용자 정의 예외 만드는 방법 : [ 링크 ]
방법: 사용자 정의 예외 만들기
.NET의 Exception 기본 클래스에서 파생된 예외 클래스의 계층 구조의 대안인 사용자 정의 예외를 만드는 방법을 알아봅니다.
docs.microsoft.com
★★★★☆
반응형