#21. 예외처리

jychan99·2025년 7월 8일

개념정리

목록 보기
22/22

예외처리란?

자바프로그램 실행중 발생하는 오류들을 예외(Exception)이라고 한다. 이와 같은 오류상황들이 프로그램 실행중 발생할 가능성이 있다면, 적절하게 대응할 수 있는 코드를 작성해줘야 하는데 이를 예외처리라 한다.

예외처리를 위한 try-catch-finally문

try{
①
} catch(발생할 수 있는 예외 타입){
②
} finally{
③
}

① : try안에는 예외가 발생할 수 있는 코드를 작성한다.
② : 예외처리 코드
③ : 예외와 상관없이 무조건 실행되는 코드

finally문은 생략하는 경우도 많으며,
예외가 없을경우 ① → ③
예외가 있을경우 ① → ② → ③ 순서로 진행된다.

예외정보 메소드

대표적으로 e.getMessage()와 e.printStackTrace()가 있다.
근데 내경험상 printStackTrace는 보안에 위배되는경우가있어 그냥 logger.error()이런식으로 처리했던것 같다.

임의 예외발생

throw키워드로 임의로 예외를 발생시킬수도 있다.

try{
	throw new Exception("임의발생예외")
}catch(Exception e){
	e.printStackTrace();
}

예외던지기

예외처리를 예외가 발생할 가능성 있는곳에서 직접 처리하지 않고 외부 함수로 던져서 처리할 수도 있다.
메소드를 호출한 쪽으로 예외를 던질때는 throws라는 키워드를 사용하면 된다.

public class Example{

	public static void main(String args[]){
    	try{
        	fireInTheHall();
        } catch (Exception e) {
        	e.printStackTrace();
        } finally{
        }
    }
    public statc void fireInTheHall() throws Exception{
    	throw new Exception("예외 받아라");
    }
}
profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐍

0개의 댓글