본문 바로가기
Backend/JAVA

JAVA 예외처리하기 RuntimeException

by YERIEL_염주둥 2020. 5. 20.
728x90

작업을 하다보면 생기는 여러 에러들... 에러가 생기면 에러 이후에는 멈춰버리는 로직

그 때 에러에 예외처리를 통해 에러를 무시하고 다음 로직이 실행 될 수 있게 한다. 

 

크게 예외 처리를 안해도 되는 언체크 예외와 예외 처리를 꼭 해야하는 체크 예외가 있다.

언체크 예외 = RuntimeException

RuntimeException은 기본적으로 예외처리를 안해도 되는 경우인데 흔히 자주 나타나는 에러나 프로그래머들이 조금만 주의하면 잡을 수 있는 에러들이다.

ArithmeticException : 0으로 나눴을 때 생기는 에러

int n = 0;
int n1 = 3 / n;
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at kr.or.ksmart.Exception01.main(Exception01.java:19)

 

② ArrayIndexOutOfBoundsException :  인수값의 범위를 넘었을 때 생기는 에러

int[] array1 = new int[5];
array1[6] = 2;
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
	at kr.or.ksmart.Exception01.main(Exception01.java:19)

 

③ NullPointerException : null값이 발생했을 때 생기는 에러

String str = null;
System.out.println(str);
Exception in thread "main" java.lang.NullPointerException
	at kr.or.ksmart.Exception01.main(Exception01.java:19)

 

RuntimeException도 특수한 경우에 예외처리를 할 수 있다.

 ArithmeticException 

try {

  int n = 0;
  int n1 = 3 / n;
  System.out.println(n1);

}catch(ArithmeticException e) {
  System.out.println(e.getMessage() +" //ArithmeticException");
  e.printStackTrace();
}

System.out.println("예외 발생 이후 출력 테스트");

 

② ArrayIndexOutOfBoundsException

try {

  int[] array1 = new int[5];
  array1[6] = 2;
  System.out.println(array1[6]);

}catch (ArrayIndexOutOfBoundsException e) {
  System.out.println(e.getMessage() + " //ArrayIndexOutOfBoundsException");
  e.printStackTrace();
}

System.out.println("예외 발생 이후 출력 테스트");

 

③ NullPointerException

try {			
  String str = null;
  System.out.println(str.toString());

}catch (NullPointerException e) {
  System.out.println(e.getMessage() + " //NullPointerException");
  e.printStackTrace();
}
		
System.out.println("예외 발생 이후 출력 테스트");

Exception 클래스 상속 순서

Throwable -> Exception -> RuntimeException

*  Throwable : 메세지 및 에러 위치 출력
*  Exception : Throwable에 에러 문구 전달

반응형

'Backend > JAVA' 카테고리의 다른 글

JAVA - Generic  (0) 2020.05.22
JAVA 예외 던지기 Throw  (0) 2020.05.20
MVC Servlet - controller 작성하기 - Filter  (0) 2020.05.14
Connection Pool 설정하기  (0) 2020.05.14
Connection Pool 이론  (0) 2020.05.14

댓글