프로그램 오류

MIN·2023년 11월 7일

Java

목록 보기
20/36
post-thumbnail
이 글은 자바의 정석 기초편을 공부한 내용을 토대로 작성한 글입니다.
혹시 잘못된 내용이 있을 시 댓글로 알려주시면 감사하겠습니다 ^U^

🌱 프로그램 오류의 종류

프로그램이 오작동하거나 비정상적 종료가 되는 경우,
이 원인을 에러 또는 오류라고 한다.

📌 컴파일 에러 (compile-time error)

컴파일 시에 발생하는 에러

📌 런타임 에러 (runtime error)

실행 시에 발생하는 에러

📌 논리적 에러 (logical error)

실행은 되지만, 의도와 다르게 동작하는 것


🌱 런타임 에러 방지

자바에서는 프로그램의 실행 도중 발생할 수 있는 모든 경우의 수를 고려하여 발생할 수 있는 프로그램 오류를
'에러(error)'와 '예외(exception)'으로 구분하였다.

📌 에러(error)

프로그램 코드에 의해서 수습될 수 없는 심각한 오류
메모리 부족(OutOfMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 일단 발생하면 심각한 오류다.

📌 예외(exception)

프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
발생하더라도 수습될 수 있는 비교적 덜 심각한 오류다.


🌱 예외 클래스

자바에서는 실행 시 발생할 수 있는 오류(Exception과 Error)를 클래스로 정의하였다.
예외 클래스는 2가지 그룹으로 나눠질 수 있다.

  1. Exception 클래스와 그 자손들
    (RuntimeException 클래스와 그 자손들 제외)
    = Exception클래스들

  2. RuntimeException 클래스와 그 자손들
    = RuntimeException클래스들

📌 Exception클래스들

사용자들의 실수와 같은 외적인 요인에 의해 발생하는 예외

Exception클래스들은 주로 외부의 영향으로 발생할 수 있는 것들로, 사용자들의 동작에 의해 발생하는 경우가 많다.

예를 들어,
존재하지 않는 파일의 이름 입력(FileNotFoundException),
실수로 클래스의 이름을 잘못 입력(ClassNotFoundException),
입력한 데이터 형식이 잘못된 경우(DataFormatException)에 발생한다.

📌 RuntimeException클래스들

프로그래머의 실수로 발생하는 예외

RuntimeException클래스들은 주로 프로그래머의 실수에 의해 발생될 수 있는 예외로 자바의 프로그래밍 요소들과 관계가 깊다.

예를 들어,
배열의 범위를 벗어남(ArrayIndexOutOfBoundsException),
값이 null인 참조변수의 멤버를 호출(NullPointerException),
클래스간의 형변환 잘못함(ClassCastException),
정수를 0으로 나누는 경우(ArithmeticException)에 발생한다.

profile
기초부터 시작하는 감쟈 ※ 소개글 확인해주세요!! ※

0개의 댓글