-
Java - 예외 처리Java/java study 2022. 2. 13. 16:50728x90반응형
예외 처리
목차
예외(Exception)와 에러(Error)
- 에러(Error)
- 시스템의 비정상적인 상황이 생겼을 때 발생하여 비정상 종료가 발생
- 시스템 레벨에서 발생하기 때문에 심각한 오류
- 프로세스에 영향을 준다.
- OutOfMemoryError, StackOverflowErr 등 - 예외(Exception)
- 프로그램이 비정상적으로 종료되지 않도록 예외 처리를 할 수 있다.
- 개발자가 구현한 로직에서 발생
- 쓰레드에 영향을 준다.
CheckedException과 UnCheckedException의 차이
- UnCheckedException(RuntimeException)
- 런타임 시점에서 발생하는 예외(Exception)와 에러(Error)
- 개발자 부주의로 발생한 예외
- 대표적으로 우리가 자주 보는 NullPointerException이 있다. - CheckedException
- 컴파일 시점에서 발생하는 예외(Exception)
- 치명적인 예외가 발생하므로 반드시 예외 처리를 해야 한다.
- 컴파일러가 예외 처리를 작성하도록 강제한다.
- 대표적으로 우리가 자주 보는 IOException이 있다.
자바에서 예외 처리 방법 (try, catch, throw, throws, finally)
try - catch - finally
- 프로그램이 실행되는 도중 발생하는 예외를 처리
- try : 예외가 발생될 수 있는 코드
- catch : 예외 발생 시 예외 처리하는 블록
- finally : 예외 발생 여부와 상관없이 실행되는 블록
try - catch 에서 return이 되어도 finally 블록은 실행된다.
throw, throws
- throws : 예외 처리를 호출한 메서드에게 위임(예외 던지기)
- throw : 개발자가 고의로 예외를 발생시키는 키워드
커스텀 예외
- Exception 클래스를 상속받아 사용자 정의 예외 클래스를 만들 수 있다.
728x90반응형'Java > java study' 카테고리의 다른 글
Java - enum이란 (0) 2022.02.27 Java - Thread (0) 2022.02.20 Java - 인터페이스(interface) (0) 2022.02.06 Java - 클래스패스(ClassPath) (0) 2022.01.23 Java - package 키워드, import 키워드와 접근제어자(Access Modifier) (0) 2022.01.23 - 에러(Error)