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
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730) N
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19) N
      • 일기장 (4)
      • 파이썬 (131) N
        • Basic (42) N
        • 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 (5) N
      • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바