-
[JAVA] Exception의 개념Java 2021. 12. 27. 02:32728x90
예외(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); } }
728x90'Java' 카테고리의 다른 글
[JAVA] 인터페이스(Interface)란? (0) 2021.12.28