-
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