[Java] 오류와 예외 처리
2020. 7. 12. 03:27ㆍLanguage/Java
1. 오류와 예외처리
컴파일 오류는 프로그램 코드 작성 중 발생하는 문법적 오류이다. 실행 오류는 실행 중인 프로그램이 의도 하지 않은 동작을 하거나 중지되는 오류라 정의한다. Java는 예외 처리를 통하여 프로그램의 비정상 종료를 막고 log를 남긴다.
종류 | 설명 |
시스템 오류 | - 가상 머신에서 발생, 프로그래머가 처리 할 수 없음 - 동적 메모리를 다 사용한 경우, stack over flow 등 |
예외 | - 프로그램에서 제어 할 수 있는 오류 - 읽으려는 파일이 없는 경우, 네트워크나 소켓 연결 오류 등 - Java 프로그램에서는 예외에 대한 처리를 수행 |
※ 모든 예외 클래스의 최상위 클래스는 Exception 클래스이다.
2. try - with - resources 문
리소스를 자동으로 해제하도록 제공해주는 구문이다(Java 7 부터 제공). 해당 리소스가 AutoCloseable을 구현한 경우 close()를 명시적으로 호출하지 않아도 try블록에서 오픈된 리소스는 정산적인 경우나 예외가 발생한 경우 모두 자동으로 close()가 호출된다.
3. Throws
throws 키워드를 사용하여 예외처리를 미룰수 있다. try블록으로 예외처리 하지 않고, 메서드 선언부에 throws를 추가한다. 예외가 발생한 메서드에서 예외처리를 하지 않고 이 메서드를 호출한 곳에서 예외 처리한다. main()에서 throws를 사용하면 가상머신에서 처리한다.
4. 사용자 정의 예외
JDK에서 제공되는 예외 클래스 외에 사용자가 필요에 의해 예외 클래스를 정의하여 사용한다. 기존 JDK 클래스에서 상속받아 예외 클래스를 생성하며, throws 키워드로 예외 발생한다.
※ throws는 예외를 미루는 키워드로 메서드 뒤에 삽입하며, throw 키워드는 강제 예외처리 발생할때 사용한다.
728x90
'Language > Java' 카테고리의 다른 글
[Java] 표준 입출력 (0) | 2020.07.12 |
---|---|
[Java] 자바 입출력 스트림 (0) | 2020.07.12 |
[Java] 내부 클래스, 람다식, 스트림 (0) | 2020.07.01 |
[Java] 자료구조, 컬렉션 프레임 워크 (4) (0) | 2020.07.01 |