-
오류와 예외(Error, exception)백엔드/자바 2020. 8. 11. 01:54
오류
프로그램을 실행하면서 어떤 원인에 의해 오작동 또는 비정상적으로 종료되는 경우 이를 에러(오류)라고 부른다.
이러한 에러는 크게 3가지로 나뉜다.
◎ 컴파일 에러: 컴파일 시에 발생하는 에러
◎ 런타임 에러: 컴파일 단계는 통과했으나 실행시 발생하는 에러
◎ 논리적 에러: 실행은 되지만, 의도와 다르게 작동하는 것
자바는 이러한 비정상적인 작동, 오작동을 에러(Error)과 예외(Exception)으로 구분했다.
에러(Error)와 예외(Exception)의 차이점
◎ 에러는 프로그램 코드에 의해 수습될 수 없는 심각한 오류 ex) 스택 오버플로우, 메모리 부족 등
◎ 예외는 발생하더라도 수습이 가능한 에러보다 낮은 단계의 오류를 말함
◎ 에러는 발생시 비정상적인 종료를 막을 수 없지만, 예외는 적절한 코드를 작성해 비정상적 종료를 막을 수 있음.
예외 클래스의 계층 구조
자바는 예외와 에러를 미리 클래스에 구현하고 있다.
예외(Exception)은 Object클래스의 자손으로 Exception 클래스와 Runntime Exception 클래스로 나뉜다.
◎ Exception 클래스:
- 실행 도중 생기는 예외로 주로 사용자 입력에 의한 오류가 많음. 예외 꼭 처리해야줘야 함.
- 컴파일러가 예외처리를 확인하는 'checked예외'
◎ Runtime Exception 클래스:
- 주로 프로그래머의 실수에 의해 발생하는 예외.
- 컴파일러가 예외처리를 하지 않는 'unchecked예외'에 해당함.
'백엔드 > 자바' 카테고리의 다른 글
예외 일으키기 (0) 2020.08.11 예외 처리하기 try - catch 문 (0) 2020.08.11 익명 클래스(anonymous class) (0) 2020.08.11 추상클래스, 인터페이스와 다형성 (0) 2020.08.07 인터페이스 (interface) (0) 2020.08.07