C# 구문 – 예외

1. 예외

예기치 않은 예외 처리(예: 0으로 나누기, 잘못된 메모리 참조, 오버플로 등)


2. 시도 – 잡기

try – 예외가 발생할 때 catch 문으로

catch – 예외 발생 시 처리

try
{

}
catch(Exception e)
{

}

0으로 나누면 예외가 처리되지 않았다는 오류와 함께 프로그램이 종료됩니다.

int a = 10;
int b = 0;
int result = a / b;



try-catch 문을 사용할 때

try
{
    int a = 10;
    int b = 0;
    int result = a/b;
}
catch (Exception e)
{

}

예외

모든 예외의 조상

원하는 예외를 따로 처리하고 싶다면

예) 0으로 나누려고 할 때 발생하는 예외를 처리하려는 경우

public class DivideByZeroException : ArithmeticException


결과에서 예외가 발생했기 때문에 바로 catch 문으로 넘어갑니다. 따라서 int c = 0; 부분이 실행되지 않습니다.

따라서 try-catch 문과 관계없이 무조건 실행해야 하는 부분은 finally 에 넣는다.


3. 드디어

try-catch와 상관없이 무조건 실행해야 하는 부분

finally
{

}

4. 던지기

예외에 개체를 전달하는 데 사용되는 예외를 throw하는 역할입니다.

class TestException : Exception
{

}
try
{
    throw new TestException();
 }

이 게시물은 MMORPG Part 1의 요약입니다.

https://www.inflearn.com/course/%EC%9C%A0%EB%8B%88%ED%8B%B0-mmorpg-%EA%B0%9C%EB%B0%9C-part1/dashboard