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#에서 정의해놓은 예외클래스만 알아도 된다.