본문 바로가기

Java프로그래밍

객체기반SW설계 14차시: Exception 처리

반응형


Exception (예외) 

Java 프로그램이 수행되는 중에 오류 (error)가 발생하면
이것에 대한 정보를 담은 객체가 만들어지는데, 이것을 Exception 이라고 한다.

이러한 Exception은 크게 둘로 나누어진다.
1. Checked Exception
2. Unchecked Exception

Checked Exception

오류가 발생했을 때, 프로그램이 수행을 포기하지 않고도
복구할 수 있는 방법을 찾을 수 있는 Exception을 말한다.
예를 들어, 사용자가 파일이름을 지정하면, 그것을 열어서 동작하는 프로그램이라고
가정하자. 만약, 존재하지 않는 파일이름을 지정하면, 파일을 열 수 없기
때문에 오류가 발생한다. 
하지만, 사용자에게 오류를 알리고 다시 파일이름을 지정하라고 하여
복구할 수 있다.

여기에 해당하는 Exception에는
FileNotFoundException 같은 것이 있다.
여기에 대해서 나중에 더 자세히 설명한다.

Unchecked Exception
오류가 발생하면, 프로그램이 수행을 포기해야하거나, 
원래 목적했던 바를 이룰 수 없는 Exception을 말한다.
이것은 크게 둘로 나누어 ErrorRuntimeException이 있다.

Error는 프로그램 외적인 요인으로부터 생긱는 오류이다.
파일 읽기를 하는 프로그램이 수행 중 하드디스크가 하드웨어적으로 고장난 경우가
여기에 해당한다.

RuntimeException은 프로그램 수행 중에 논리 오류에 의해
일어나는 상황을 말한다. 예를 들어 나누기를 하는데 0으로 나누거나,
배열 인덱스를 사용할 때, 범위를 벗어나는 값을 사용하는 경우이다.
전자를 ArithmeticException, 후자를 ArrayIndexOutofBoundsException이라고 한다.

Arithmetic Exception예제

아래 프로그램은 0으로 나누는 연산이 들어가는 프로그램이다.

실행 중에 ArithmeticException이 발생하는 것을 알 수 있다.

ArrayIndexOutOfBoundsException 예제


이번에는 배열의 인덱스가 범위를 넘어가는 경우에 대한 예제이다.

아래 프로그램에서 인덱스는 0~2까지 이지만,

line 8에서 3을 사용하고 있다. 

프로그램을 실행하면 ArrayIndexOutOfBoundsException 이 발생함을 알 수 있고,

관련 정보들, 인덱스 3이 사용되었고, 그것이 line 9 임을 표시하고 있다.


Checked Exception 처리를 위한 try-catch문


<< 작성 예정 >>



Java프로그램 실행 중 발생하는 오류(Exception)을 처리하기 위한 try-catch 문에 대해 설명합니다.






반응형