| 구분 | 설명 |
|---|---|
| 예외 (Exception) | 프로그램 실행 중 발생할 수 있는 문제 상황. 개발자가 처리할 수 있음. |
| 에러 (Error) | 시스템에 심각한 문제가 발생한 상황. 예: OutOfMemoryError, StackOverflowError 등. 보통 개발자가 처리할 수 없음. |
💡 예외는 try-catch 또는 throws로 처리 가능하지만, 에러는 일반적으로 catch하지 않습니다.
throw 키워드throw 뒤에는 예외 객체가 와야 합니다.throw new IllegalArgumentException("잘못된 입력입니다.");
✔️ throw는 실제 예외를 던지는 코드입니다.
throws 키워드public void readFile() throws IOException {
// 파일 읽기 코드
}
✔️ throws는 예외를 처리하지 않고 외부에 전달하겠다는 의미입니다.
throw vs throws 차이점 요약| 구분 | throw |
throws |
|---|---|---|
| 역할 | 예외를 직접 발생시킴 | 예외를 전가시킴 (선언만) |
| 위치 | 메서드 내부 | 메서드 선언부 |
| 뒤에 오는 것 | 예외 객체 | 예외 클래스명 |
| 사용 예 | throw new Exception(); |
throws IOException, SQLException |