반응형
예외 & 에러
Exception & Error
- 에러 Error
- 간단히 말해 에러는 심각한 경우를 말합니다.
ex) 시스템상 메모리부족. OOME:Out Of Memory Error.
- 간단히 말해 에러는 심각한 경우를 말합니다.
- 예외 Exception
- 코드를 Run하기 전, 컴파일 과정에서 개발자가 처리할 수 있는 경우에서 발생하는 작은 오류 등을 얘기 합니다.
ex) 타입변환의 오류
- 코드를 Run하기 전, 컴파일 과정에서 개발자가 처리할 수 있는 경우에서 발생하는 작은 오류 등을 얘기 합니다.
예외가 발생하면 예외 객체 Exception 이 만들어집니다.
이 예외 객체 안에는 예외에 대한 정보가 담겨있습니다.
개발자들이 자주 사용하는 printStackTrace()와 getMessage()함수로 예외에 대한 정보를 불러올 수 있습니다.
※ 예외처리 목적
프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것.
프로그램 오류의 종류
- 컴파일 에러 compile-time error
- 컴파일 중 발생하는 에러.
- 프로그램이 시작도 안된다.
- 컴파일이 하는 일.
- 구문체크.
- 번역.
- 최적화.
- 런타임 에러 runtime error
- 실행 중 발생하는 에러.
- 프로그램이 종료된다.
- 논리적 에러 logical error
- 작성의도와 다르게 동작한다.
RuntimeException class
RuntimeException에 속하는 예외들은 프로그래머의 실수로 발생한다.
RuntimeException에 속하지 않는 예외들은 사용자의 실수 혹은 외적인 요인으로 발생한다.
checked & unchecked
Exception
- checked exception
- 컴파일러가 예외 처리 여부를 체크한다.
- 예외 처리 필수.
- (RuntimeException을 제외한)Exception에 속한 예외들.
- try-catch문이나 throws에 명시하여 예외를 처리해야 합니다.
- ex) IOException, SQLException.
- unchecked exception
- 컴파일러가 예외 처리 여부를 체크 안한다.
- 예외 처리 선택.
- RuntimeException에 속한 예외들이 이에 속한다.
- ex) NullPointerException, ArrayIndexOutOfBoundsException, IllegalArgumentException.
예시
- wait 함수의 API문서를 보면
- 이 함수를 사용할 때 발생할 수 있는 예외가 Throws에 적혀있다.
- 반대로 InterruptedException은 필수로 예외를 처리해주어야 한다.
함수선언 시,
함수명 throws 예외에는 필수처리 예외checked exception만! 적는 게 정석이다.
→ throws 옆에 unchcecked는 안 적는다.
예외처리 방법
2024.09.25 - [☕ 자바 JAVA/☕ 클래스와 함수 Class & Method] - [JAVA]예외처리:throw & throws, try-catch.
2024.11.04 - [☕ 자바 JAVA/☕ 클래스와 함수 Class & Method] - [JAVA]사용자정의 예외클래스 만들기, 연결된 예외
참조한 영상 https://www.youtube.com/watch?v=Px3u24AvadM&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=101
반응형
'☕ 자바 JAVA > ☕ 개념지식' 카테고리의 다른 글
[JAVA]Object:모든 클래스의 조상 (0) | 2024.11.05 |
---|---|
[JAVA]호출 스택 call stack (0) | 2024.10.31 |
☕ JAVA란 (0) | 2022.12.30 |