☕ Java 예외 처리 스터디 정리


✅ 예외(Exception)와 에러(Error)의 차이

구분 설명
예외 (Exception) 프로그램 실행 중 발생할 수 있는 문제 상황. 개발자가 처리할 수 있음.
에러 (Error) 시스템에 심각한 문제가 발생한 상황. 예: OutOfMemoryError, StackOverflowError 등. 보통 개발자가 처리할 수 없음.

💡 예외는 try-catch 또는 throws로 처리 가능하지만, 에러는 일반적으로 catch하지 않습니다.


🚨 throw 키워드

throw new IllegalArgumentException("잘못된 입력입니다.");

✔️ throw는 실제 예외를 던지는 코드입니다.


📢 throws 키워드

public void readFile() throws IOException {
    // 파일 읽기 코드
}

✔️ throws는 예외를 처리하지 않고 외부에 전달하겠다는 의미입니다.


🔄 throw vs throws 차이점 요약

구분 throw throws
역할 예외를 직접 발생시킴 예외를 전가시킴 (선언만)
위치 메서드 내부 메서드 선언부
뒤에 오는 것 예외 객체 예외 클래스명
사용 예 throw new Exception(); throws IOException, SQLException