Exception

bin1225·2021년 10월 17일
0

Exception

예외란 무엇인가

프로그래머가 프로그램을 만들 때, 프로그램이 작동하다가 정상적인 처리에서 벗어나는 경우에 대비하여, 이를 처리하기 위한 방법이다.

Error와 Exception

자바에서는 실행 시 발생할 수 있는 프로그램 오류를 에러와 예외 두가지로 구분한다.

Error

자바 프로그램 밖에서 발생한 문제를 말한다. 발생하더라도 개발자가 대처할 방법이 없다.
Ex) 메인보드 고장, 메모리 부족, 스택오버플로우 등

Exception

사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램의 오류를 말한다.
예외가 발생되면 프로그램은 곧바로 종료된다는 점에서는 에러와 동일하다.
하지만 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다.

예외 처리( Exception Handling )

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

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

예외의 종류

예외에는 일반예외와 실행예외 두 종류가 있다.

일반예외

컴파일러 체크 예외라고도 하는데, 컴파일 과정에서 예외 처리 코드가 필요한지 검사하기 때문이다. 없다면 컴파일 오류가 발생한다.

실행예외

컴파일 과정에서 예외 처리 코드를 검사하지 않는 예외를 말한다.
RuntimeException을 상속받는다는 점에서 일반예외와 다르다.
실행 예외는 자바 컴파일러가 체크를 하지 않기 떄문에 개발자의 경험에 의해서 예외 처리 코드를 삽입해야 한다.

실행예외의 종류

NullPointerException : 객체 참조가 없는 상태, 즉 null 값을 갖는 참조 변수로 객체 접근 연산자인 도트(.)를 사용했을 때 발생한다.

ArrayIndexOutOfBoundsException : 배열에서 인덱스 범위를 초과하여 사용할 경우인 에러이다.

ArithmeticException : 산술연산 에러이고 0으로 나눌 때 에러가 발생한다.


컴파일 시 예외처리를 확인하는 차이일 뿐 두 가지 예외는 모두 예외처리가 필요하다.

자바에서는 에외를 클래스로 관리하면서 프로그램 실행 도중에 예외가 발생하면 해당 예외 클래스로 객체를 생성한다. 그리고 에외처리 코드에서 예외 객체를 이용할 수 있게 해준다.
모든 예외 클래스들은 다음과 같이 java.lang.Exception 클래스를 상속받는다.

출처: https://deftkang.tistory.com/44 [deftkang의 IT 블로그]

0개의 댓글

관련 채용 정보