C# 사용자 지정 예외 클래스

2023. 4. 6. 09:15·C#
반응형

소개

C#에서는 예외 처리를 위해 내장된 예외 클래스를 제공합니다. 그러나 때로는 프로그램이 특정 조건에서 동작하지 못할 때 사용자 지정 예외 클래스를 정의하여 예외 처리를 수행해야 합니다. 이번 글에서는 C#에서 사용자 지정 예외 클래스를 작성하는 방법과 그 활용에 대해 알아보겠습니다.


사용자 지정 예외 클래스란?

사용자 지정 예외 클래스는 발생 가능한 예외 상황을 특정하기 위한 사용자 정의 예외 클래스입니다. 내장된 예외 클래스를 사용하여 예외 처리를 수행할 수 있지만, 때로는 특정 예외 상황에 대한 정보를 더 자세하게 제공하거나 사용자 지정 예외 처리 로직을 구현해야 할 때가 있습니다. 이러한 경우, 사용자 지정 예외 클래스를 정의하고 해당 클래스를 사용하여 예외 처리를 수행할 수 있습니다.


사용자 지정 예외 클래스 생성 방법

사용자 지정 예외 클래스를 만들려면, 다음과 같은 단계를 따를 수 있습니다.

  1. System.Exception 클래스를 상속하는 사용자 지정 예외 클래스를 작성합니다.
  2. 생성자를 정의하여 클래스의 인스턴스를 초기화합니다.
  3. 필요한 속성을 정의하고, 해당 예외를 설명하는 메시지를 제공합니다.

간단한 예제를 보겠습니다.

public class MyException : Exception
{
    public MyException(string message) : base(message)
    {
    }
}

위의 예제에서 MyException 클래스는 Exception 클래스를 상속하며, 생성자를 통해 예외 메시지를 초기화합니다.


사용자 지정 예외 클래스 활용

사용자 지정 예외 클래스를 사용하여 예외 처리를 수행하려면, 다음과 같은 단계를 따를 수 있습니다.

  1. 예외 상황을 특정하는 사용자 지정 예외 클래스의 인스턴스를 만듭니다.
  2. 예외 처리 로직을 구현합니다.

간단한 예제를 보겠습니다.

try
{
    int x = 5;
    if (x > 3)
    {
        throw new MyException("x is greater than 3");
    }
}
catch (MyException ex)
{
    Console.WriteLine(ex.Message);
}

위의 예제에서, x가 3보다 큰 경우 MyException 클래스를 사용하여 예외 상황을 특정하고, 해당 예외에 대한 처리 로직을 구현합니다.


결론

C#에서 사용자 지정 예외 클래스를 만들어 사용하면, 내장된 예외 클래스로는 처리하기 어려운 예외 상황을 더 자세하게 특정할 수 있습니다. 또한, 사용자 지정 예외 클래스를 사용하여 예외 처리 로직을 구현할 수 있어, 예외 처리의 유연성과 가독성이 향상됩니다. 이번 글을 통해 C#에서 사용자 지정 예외 클래스를 만드는 방법과 그 활용에 대해 알아보았습니다.

저작자표시 비영리 변경금지 (새창열림)

'C#' 카테고리의 다른 글

C# using 문  (0) 2023.04.08
C# 문자열  (0) 2023.04.07
C# Reflection문  (0) 2023.04.05
C# 네이밍 규칙 : PascalCase, camelCase, Snake case  (0) 2023.04.05
C# 객체지향 다형성 : new, virtual, override, sealed  (0) 2023.03.30
'C#' 카테고리의 다른 글
  • C# using 문
  • C# 문자열
  • C# Reflection문
  • C# 네이밍 규칙 : PascalCase, camelCase, Snake case
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    리뷰관리
    ipcamera
    라떼우유
    카페24리뷰이관
    믈레코비타멸균우유
    learntocode
    rtsp
    programmerlife
    상품 리뷰 크롤링
    codingtips
    appdevelopment
    쇼핑몰리뷰
    리뷰이관
    스크립트 실행
    unity
    devlife
    스마트스토어리뷰
    카페24리뷰
    Python
    셀레니움
    C#
    cv2
    파이썬
    programming101
    list
    리스트
    스크립트 실행 순서
    긴유통기한우유
    유니티
    codingcommunity
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
C# 사용자 지정 예외 클래스
상단으로

티스토리툴바