-
[Java] Exception - 예외처리Java 2022. 5. 20. 10:15반응형
프로그램이 실행중 얘기치 못한 상황을 예외라고 한다. 예외 상황을 미리 예측하고 처리할 수 있는데, 이렇게 하는 것을
예외 처리라고 한다.
public class ExceptionExam { public static void main(String[] args) { int i = 10; int j = 0; int k = i/j; System.out.println(k); } }위의 예제를보면 에러가 발생하게 된다. 5번째를 보면, i 나누기 j 를 하는데, 자바에서는 정수를 정수로 나눌때 0 으로 나누면
오류가 발생한다. 이를 방지하기위해 예외처리를 하는데, j라는 변수에 0이 들어올지도 모르는 예외 상황을 미리 예측하고
처리 할 수 있다.
예외 처리하는 문법
try { ... } catch(예외클래스 변수명) { ... } finally { ... }오류가 발생할 예상 부분을 try라는 블록으로 감싼 후, 발생할 오류와 관련된 Exception을 catch라는 블록에서 처리한다.
오류가 발생했든 안했든 무조건 실행되는 finally라는 블록을 가질 수 있다.
finally 블록은 생략이 가능
실행결과
public class ExceptionExam { public static void main(String[] args) { int i = 10; int j = 0; try{ int k = i / j; System.out.println(k); }catch(ArithmeticException e){ System.out.println("0으로 나눌 수 없습니다. : " + e.toString()); }finally { System.out.println("오류가 발생하든 안하든 무조건 실행되는 블록입니다."); } } }0으로 나눌 수 없다. java.lang.ArithmeticException: / by zero
오류가 발생하든 안하든 무조건 실행되는 블록이다. Exception처리 하지 않았을 때는 프로그램이 강제 종료되었는데 catch라는 블록으로 Exception을
처리하니 강제종료되지 않고 잘 실행되는 것을 알 수 있다.
Exception클래스들은 모두 Exception클래스를 상속받으므로, 예외클래스에 Exception을 두게 되면 어떤 오류가 발생하든지 간에
하나의 catch블록에서 모든 오류를 처리 할 수있다.
반응형'Java' 카테고리의 다른 글
[Java] Exception 발생 시키기 (0) 2022.05.20 [Java] throws (0) 2022.05.20 [Java] API - String 클래스 (0) 2022.05.19 [Java] 헷갈리는 문자열 함수 정리 (substring, split, charAt, indexOf, lastIndexOf) (0) 2022.05.18 [Java] 내부 클래스 (0) 2022.05.18