on
[JAVA] Exception의 개념
[JAVA] Exception의 개념
728x90
예외(Exception)
예상한 범위를 벗어나는 방식으로 프로그램을 동작시켜 예상치 못한 결과를 내는 경우
배열을 다루는 프로그램에서 범위를 벗어난 인덱스를 호출하는 것과 같은 상황
0으로 나누는 경우
예외는 오류(컴파일 에러, 시스템 오류)와 달리 피할 수 있게 만들 수 있음.
예외 처리
프로그램을 만들 사람이 설계한 의도대로 운영되지 않았기 때문에 발생함.
예외가 발생할 것으로 예상되는 예외를 처리함.
Exception 클래스
일반적으로 ArithmeticException(RuntimeException으로부터 상속받은 클래스)를 사용하고 Exception 클래스를 이용해 여러 예외를 포괄적으로 처리할 수 있음.
RuntimeException는 Exception 클래스로부터 상속받은 클래스. try에서 발생한 예외는 여러 개의 catch 문을 순서대로
거쳐가며 해당 catch 문의 예외가 이번에 발생한 예외와 맞는지 확인하고 실행함.
catch 문의 e 변수
e라는 인스턴스를 통해 예외가 발생한 원인에 대해 알 수 있는데 getMessage 메소드를 이용하면 알 수 있음.
그러나, 의도에 따라 정보가 노출될 수 있으므로 서버 측에서 로그 파일 등을 이용해 관리자만 볼 수 있게 처리함.
public class ExceptionApp { public static void main(String[] args) throws ArithmeticException { System.out.println(1); int[] scores = {10, 20, 30}; try { System.out.println(2); System.out.println(scores[3]); //ArrayIndexOutOfBoundsException System.out.println(3); System.out.println(2/0); //ArithmeticException System.out.println(4); }catch(ArithmeticException e) { System.out.println("계산 예외"); }catch(ArrayIndexOutOfBoundsException e) { System.out.println("인덱스 예외"); System.out.println(e.getMessage()); } System.out.println(5); } }
반응형
from http://6ro-29.tistory.com/30 by ccl(A) rewrite - 2021-12-27 03:02:17