[CS] 메모 14. 예외

윤대희님의 강의 20강

예외(Exception)

프로그래밍에 있어 예외처리는 필수다.
오류가 발생했을때 예외처리를 해야 크리티컬한 이슈에서 피할 수있다.

try
{
	코드 1;
    코드 2;
    ...
    코드 n;
}
catch(예외)
{
	zhem1;
}

try{}시도, catch{}잡기

try{}를 이용하여 정상으로 실행될 때 수행하는 코드를 작성함.
그리고 try에서 오류가 발생하면 catch{} 에서 예외처리함.

int[] array = new int[3]{0,1,2};

try
{
	for(int i = 0; i < 5; i++){
    	Console.WriteLine(array[i]);
    }
}
catch(IndexOutOfRangeException)
{
	Console.WriteLine("범위 설정 오루");
}
// 0/1/2/범위 설정 오류
  • try문 내에, 5회 반복하는 for문에서 에러가 발생한다.(array가 3회밖에 반복을 못하기때문)
  • 그 에러에 대한 오류가 발생햇을 시, catch문으로 예외처리한다.

finally 정리

  • finally{}를 이용하여 try~catch 가 모두 실행도니 후 최종적으로 실행됨.
int[] array = new int[3]{0,1,2};

try
{
	for(int i = 0; i < 5; i++){
    	Console.WriteLine(array[i]);
    }
}
catch(IndexOutOfRangeException)
{
	Console.WriteLine("범위 설정 오루");
}
fianlly
{
	Console.Write("안전하게 종료");
}

throw 던지기

try{} 에서 정상작동 하더라도 예외 구문으로 보낼 수 있음.

throw new IndexOutRangeException();
  • 에러가 나면 해당 catch구문으로 에러를 보냄.

예외구문

  • Exception : 모든 에러의 최상위 에러. 모든에러와 호환됨
  • DivideByZeroException : 정수 or 소수 값을 0으로 나누려 할때
  • IndexOutOfRangeException : 배열 범위 밖의 index를 엑세스 할때
  • FormatExeption : 변수의 형식이 맞지 않을 때
  • OverflowException : 오버플로우가 발생했을 때

기타 등등 여러 에러구문이 있음. 예외처리 꼭 꼭 꼭 잘하길~!

좋은 웹페이지 즐겨찾기