JAVA

[JAVA] 예외처리 (1)

개발 공주 2023. 6. 12. 20:56
728x90

프로그램 오류

프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다.

 

발생 시점에 따라 '컴파일 에러' 와 '런타임 에러' 로 나눌 수 있다.

 

  • 컴파일 에러 ==> 컴파일 시에 발생하는 에러 .java => .class
  • 런타임 에러 ==> 실행 시에 발생하는 에러
  • 논리적 에러 ==> 싱행은 되지만, 의도와 다르게 동작하는 것

컴파일 에러 : 컴파일러가 소스코드에 대해 오타나 잘못된 구문, 자료형 체크 등의 기본적인 검사를 수행하여 오류가 있는지를 알려준다. 컴파일러가 알려 준 에러들을 모두 수정해서 컴파일을 성공적으로 마치고 나면, 클래스파일이 생성되고, 생성된 클래스 파일을 실행할 수 있게 된다.

 

런타임 에러 : 컴파일이 잘 되어도 프로그램 실행 도중에 에러에 의해서 잘못된 결과 또는 프로그램이 비정상 적으로 종료되는 것 등등 여러가지...

 

런타임 에러를 방지하기 위해서는 프로그램의 실행도중 발생할 수 있는 모든 경우의 수를 고려하여 이에 대한 대비를 하는 것이 필요하다. 자바에서는 런타임 시 발생할 수 있는 프로그램 오류를 '에러'와 '예외' 두가지로 구분했다.

 

에러 ==> 메모리 부족이나 스택오버플로우와 같이 일단 발생하면 복구할 수 없는 심각한 오류

예외 ==> 발생하더라도 수습될 수 있는 비교적 덜 심각한 것

 

에러가 발생하면, 프로그램의 비정상적인 종료를 막을 길이 없다. 그치만 예외는 발생하더라도 프로그래머가 이에 대한 적절한 코드를 미리 작성해 놓음으로써 프로그램의 비정상적인 종료를 막을 수 있다.

 

예외처리의 정의와 목적

정의 ==> 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것

목적 ==> 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것

'JAVA' 카테고리의 다른 글

[JAVA] 예외 처리 (3)  (0) 2023.06.13
[JAVA] 예외 처리 (2)  (0) 2023.06.13
[JAVA] 인터페이스 다형성  (0) 2023.06.01
[JAVA] 디폴트 메서드와 static 메서드  (0) 2023.06.01
[JAVA] 인터페이스  (0) 2023.06.01