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을 발생시키는 방법도 있음
Exception은 Object밑에 Throwable을 상속받는다
그다음 다시 크게 IOException, SQLException, RuntimeException을 받는다
IOException : 입출력 처리에서 발생할 수 있는 예외처리를 해줌
→ ex) 읽어야할 파일이 없는경우
SQLException : SQL Server에서 경고 또는 오류를 반환할때 throw되는 예외이며 상속될 수 없다
RuntimeException : 프로그램이 컴파일단계에서 오류를 잡지 못하고 실행 단계에서 오류가 발생했을 경우 생기는 exception이며 Unchecked Exception이다