예외처리의 기본
프로그래머의 실수가 아니라 사용자의 실수가 예외다. 즉, 사용자가 기대하지 못했던 상황을 예외라고 한다. 그러한 예외 상황을 프로그래머의 처리를 예외처리라고 한다.
예외 상황을 알리기 위한 클래스
java.lang.ArithmeticException
수학 연산에서의 오류 상황을 의미하는 예외 클래스
java.util.InputMismatchExecption
클래스 Scanner를 통한 값의 입력에서의 오류 상황을 의미하는 예외 클래스
위 2가지 클래스는 내가 직접 생성하려는 클래스가 아니라, JVM이 특정 예외 상황을 알리기 위해 정의한 클래스이다.
try~catch
예외의 처리를 위한 코드를 별도로 구분하기 위해 디자인된 예외처리 알고리즘이다. try블록에는 예외가 발생할 수 있는 코드가 위치하고, catch에는 try에서 감지한 예외를 처리하는 코드가 있다.
참고!
예외 처리문이 없으면, 예외 발생 시 프로그램이 종료된다.
주의!
예외 처리 후, 다시 예외 발생 코드로 돌아가지 않는다.
예외 처리 후, catch문 뒤의 코드부터 실행한다. 그럼 try문 안의 예외 이후의 코드는 왜 건너뛸까? 입력 오류에 대한 예외 관점에서 보았을 때 try문의 코드는 하나의 작업이다. 따라서, 예외 발생 이후의 코드는 예외 발생으로 인해 쓸모 없는 작업이 될 것이다.
예외가 발생하면, try블록에 가까운 catch블록부터 순서대로 검사한다.
자바 7이후 둘 이상의 예외를 묶을 수 있게 됐다.
'Programming > Java' 카테고리의 다른 글
JAVA 19(1) 메모리 모델 (0) | 2021.08.05 |
---|---|
JAVA 18(2) 예외 클래스 Throwable (0) | 2021.08.05 |
JAVA 17(3) 인터페이스의 static 메소드 (0) | 2021.08.04 |
JAVA 17(2) 인터페이스의 기본 접근 지정자 (0) | 2021.08.04 |
JAVA 17(1) 인터페이스 (0) | 2021.08.04 |