카테고리 없음

기본기) 예외 처리 종류 및 정리(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

 

★★★★

 

반응형