try ~ catch 문을 이용하여 예외처리 하기

임동현·2022년 3월 25일
0
post-thumbnail

개발에 있어서 오류가 나는것은 당연한 일이다 . 오류가 나기 때문에 무엇이 잘못되었는지 확인할 수 있다.

예외란 프로그램이 진행하는 과정에서 만나게 되는 가벼운 정도의 오류로서 사용자의 잘못된 입력이나 배열의 인덱스가 배열의 크기를 넘어가는 등 ,예기치 못한 상황에 의해 프로그램 실행 중에 발생한다.

자바에서 문법에 맞지 않게 작성된 코드는 사전에 컴파일러에 의해 컴파일 오류(compile time error )로 걸러지지만 , 예외는 컴파일은 잘 되지만 실행 중에 발생하게 된다.

예외 처리 방법

Try ~ Catch 문을 이용하여 직접 예외를 처리하는 방법

여기서는 try ~catch 문을 이용해서 예외를 처리하는 방법을 알아보고자 한다.

1. 배열의 예외처리

public class main {
		public static void main (string[]args){

		string[] fruits = {"사과","배","포도"}

		for ( int i=0 ; i < 5 , i++)
				system.out.printIn(fruits[i]);
		]
}

배열의 크기보다 큰 인덱스로 배열의 원소에 접근한 코드이다. 컴파일 시에는 문제가 없지만 실행시켜보면

//
Exception is teread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at day18.exceptiontest1.main ( Exceptiontest1.java:13)

ArrayIndexOutOfboundsException 예외가 발생한다.

예외를 처리하기 위해 예외가 발생할 수 있는 코드를 try ~ catch 문으로 감싼다.
catch 절의 ()안에는 발생한 예외 클래스를 참조하는 매개변수 e를 작성한다.

만약 NullpointException 이 발생했다면 catch()절에는 catch(NullPointException e)를 작성한다.

public class main {
		public static void main (string[]args){

		string[] fruits = {"사과","배","포도"}

		for ( int i=0 ; i < 5 , i++)
				system.out.printIn(fruits[i]);
		} catch(ArrayIndexOutOfBoundsException e) {
			
			system.out.printIn("배열 인덱스 범위 초과");
	}
	system.out.printIn(###반드시 실행되어야할 코드 ###);
	}

}

/////////////////////////////////////
사과

포도
배열 인덱스 범위 초과됐어요 ! 확인해보세요

반드시 실행되어야할 코드

실행결과를 보면 try{}에서 예외가 생긴 코드를 감지하고 catch{}에서 예외를 처리하는 코드를 작성하여 사용자가 알 수 있도록 해준다 . 또한 예외가 발생한 다음의 코드는 출력되지 않았지만 예외처리를 통해 다음 코드를 실행한 것을 볼 수 있다.

profile
프론트엔드 공부중

0개의 댓글