자바에서 예외 처리 방법 (try, catch, throw, throws, finally)

public static void exception1(){
    try {
        // do something
    } catch (Exception e1) {
        // 예외시 처리할 코드
    } finally {
        // 예외와 상관없이 항상 실행할 코드
    }
}

try-catch 문은 세트로 함께 다니고 finally는 선택

try문에서는 예외가 발생할 수 있는 로직을 실행하며 여기서 발생한 예외를 catch에서 받아 처리한다

catch에 Exception 파라미터는 try문 로직에서 발생할 수 있는 Exception을 넣어주며 이때 처리할 로직을 catch문제 작성한다

만약 try문에서 예외가 발생하게 된다면 발생한 라인 밑부분의 코드는 실행이 되지않고 catch문으로 넘어가게 된다. 이와 상관없이 항상 실행할 코드를 finally문에 작성한다

public static void exception2() throws Exception {
    // 특정 조건 발생시 -> ex) 5 / 0
    throw new Exception();
}

본인이 원하는 조건을 걸어놓고 그 조건 발생시 throw문을 통해 Exception을 발생시키는 방법도 있음

자바가 제공하는 예외 계층 구조

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4f5f957f-ded5-4cde-9a98-ae1cb0379498/Untitled.png

日記帳 : 네이버 블로그

Exception은 Object밑에 Throwable을 상속받는다

그다음 다시 크게 IOException, SQLException, RuntimeException을 받는다

Checked Exception과 Unchecked(Runtime) Exception