Java 프로그램 오류(error,exception), 예외 클래스의 계층구조
by 볼빵빵오춘기프로그램 오류
- 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러
⇒ 클래스파일이 만들어지지않아 프로그램 실행할 수 없다.
더보기
system.out.println(args[0]); // System의 대문자가 소문자로 해서 컴파일 에러가 난다.
⇒ 이클립스에서 보면 빨간줄이 그어져 있을것이다.
컴파일러가 구문체크, 번역, 최적화, 생략된 코드 추가 등 다양한 기능을 해준다.
- 런타임 에러(runtime error) : 실행 할 때 발생하는 에러
⇒ 프로그램은 실행은 되지만 문제가되는 부분에서 종료
더보기
System.out.println(args[0]);
// 컴파일엔 문제 없이 되지만 args[0] 이 아예 없기때문에 runtime 에러 발생
⇒ 런타임 에러. 실행은 되었지만 문제가 되는 부분에서 종료된 후 에러 메세지를 출력해준다.
⇒ 실행중에는 여러가지 일이 일어나기때문에 컴파일에러가 일어나지 않더라도 런타임에러가 일어날 수 있다.
- 논리적 에러(logical error) : 작성 의도와 다르게 동작
⇒ 프로그램종료안됨. 동작은하는데 내가 원하는대로 동작을 안함.
오류(error) vs 예외(exception)
- 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
- 예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
에러는 어쩔 수 없지만 예외는 처리하자!
※ Throwable은 클래스. 모든 오류의 조상
예외처리의 정의와 목적
- 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
- 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것
Exception과 RuntimeException
- Exception 클래스+자손들 - 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외. (ex. 입출력예외)
- RuntimeException클래스+그 자손들 - 프로그래머의 실수로 발생하는 에러.
'👩🏻💻 About 프로그래밍 > Java' 카테고리의 다른 글
Java printStackTrace(), getMessage(), 멀티 catch블럭 (0) | 2023.12.01 |
---|---|
Java 예외처리하기, try-catch문의 흐름 (0) | 2023.11.30 |
Java 내부클래스의 제어자와 접근성 (0) | 2023.11.30 |
Java 내부클래스의 종류, 특징, 선언 (1) | 2023.11.30 |
Java 디폴트 메서드와 static메서드 (0) | 2023.11.30 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기