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의 요약입니다.