ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 예외처리
    C# 2022. 1. 26. 15:33

    1. try catch

    c++과 같이 try와 catch를 사용하여 예외를 처리할 수 있다.

    try의 내용에서 예외가 발생하면 catch에서 처리가 된다.

    using System;
    using System.Collections.Generic;
    
    namespace CSharp
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    int a = 5;
                    int b = 0;
                    int c = a / b;
                }
                catch(DivideByZeroException e)
                {
    
                }
                catch(Exception e)
                {
    
                }
                finally
                {
    
                }
            }
        }
    }

    위의 코드는 0으로 나누는 경우를 예외처리하는 코드이다.

    DivideByZeroException은 0으로 나누는 경우를 예외처리하는 클래스이다.

    그리고 Exeception은 모든 경우의 예외상황을 처리하는 클래스이다.

    대부분의 예외상황은 c#에서 자체적으로 클래스로 정의되어 있다.

     

    finally 키워드는 예외처리 후에 실행되는 코드를 적는 곳이다. DB나 파일정리 등에 쓰인다.

     

    2. throw

    나만의 예외클래스 정의하기

    using System;
    using System.Collections.Generic;
    
    namespace CSharp
    {
        class TestException : Exception
        {
    
        }
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    throw new TestException();
                }
                catch(TestException e)
                {
    
                }
            }
        }
    }

    예외클래스를 정의할 때는 반드시 Exception클래스를 상속 해야한다.

    throw를 통해 예외클래스를 catch로 넘겨줄 수 있다.

     

    사실 예외클래스를 직접 정의해서 사용하는 경우는 거의 없고 c#에서 정의해놓은 예외클래스만 알아도 된다.

     

     

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

    널러블(Nullable)  (0) 2022.01.26
    리플렉션(Reflection)  (0) 2022.01.26
    람다식(Lambda)  (0) 2022.01.26
    이벤트(Event)  (0) 2022.01.26
    대리자(Delegate)  (0) 2022.01.25
Designed by Tistory.