자바 프로그램 오류 및 Exception과 RuntimeException에 대해서 알아보자.
프로그램 오류
프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다.
- 컴파일 에러 : 컴파일 시 발생하는 에러
- 런타임 에러 : 실행 시에 발생하는 에러
- 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것
자바에서는 실행 시(runtime) 발생할 수 있는 프로그램 오류를 '에러(error)'와 '예외(exception)' 두가지로 구분한다.
- 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
- 예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
에러는 메모리 부족이나 스택오버플로우와 같이 발생하면 복구할 수 없는 심각한 오류, 예외는 발생하더라도 수습될 수 있는 비교적 덜 심각한 것이다.
Exception과 RuntimeException
Exception과 RuntimeException 클래스를 설명해보자면,
- Exception 클래스들 : 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외
- RuntimeException 클래스들 : 프로그래머의 실수로 발생하는 예외
Exception클래스들은 주로 외부의 영향으로 발생할 수 있는 것들로서, 프로그램의 사용자들의 동작에 의해서 발생하는 경우가 많다.
RuntimeException클래스들은 주로 프로그래머의 실수에 의해서 발생될 수 있는 예외들로 자바의 프로그래밍 요소들과 관곅가 깊다.
'언어공부 > Java' 카테고리의 다른 글
자바 예외 처리 방법 - throw 키워드, throws 키워드, 사용자 정의 예외 (0) | 2021.06.03 |
---|---|
자바 예외 처리 방법 - try-catch문, printStackTrace()와 getMessage() (0) | 2021.06.03 |
자바 wait()과 notify() (0) | 2021.06.01 |
자바 쓰레드 동기화(synchronization) (0) | 2021.05.31 |
자바 쓰레드 스케쥴링 메소드-sleep(), interrupt(), suspend(), resume(), stop(), join(), yield() (0) | 2021.05.31 |