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 |
댓글