728x90
반응형
예외처리의 정의와 목적
예외처리(Exception handling)란, 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이며, 예외처리의 목적은 예외의 발생으로 인한 실행중인 프로그램의 갑작스런 비정상 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것 이다.
예외처리구문 - try-catch
예외를 처리하기 위해서는 try - catch 문을 사용하며 그 구조는 다음과 같다.
try{
//예외가 발생할 가능성이 있는 문장들을 넣는다.
} catch(Exception1 e1) {
// Exception1이 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
} catch(Exception2 e2) {
// Exception2가 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
...
} catch (ExceptionN eN) {
// ExceptionN 이 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
하나의 try 블럭 다음에는 여러 종류의 예외를 처리할 수 있도록 하나 이상의 catch 블럭이 올 수 있으며, 이 중 발생한 예외의 종류와 일치하는 단 한 개의 catch블럭만 수행된다. 발생한 예외의 종류와 일치하는 catch 블럭이 없으면 예외는 처리되지 않는다.
예제코드
위의 예제는 ArithmeticException 이 발생했을 경우에는 0을 화면에 출력하도록 한다.
Try - catch 문에서의 흐름
1. 발생한 예외와 일치하는 catch 블럭이 있는지 확인한다.
2. 일치하는 catch블럭을 찾게 되면, 그 catch블럭 내의 문장들을 수행하고 전체 try-catch문을 빠져나가서 그 다음 문장을 계속해서 수행한다. 만일 일치하는 catch블럭을 찾지 못하면, 예외는 처리되지 못한다.
try 블럭 내에서 예외가 발행하지 않은 경우,
1. catch블럭을 거치지 않고 전체 try - catch문을 빠져나가서 수행을 계속한다.
finally 블럭
finally블럭은 try - catch문과 함께 예외의 발생여부에 상관없이 실행되어야할 코드를 포함시킬 목적으로 사용된다.
try{
//예외가 발생할 가능성이 있는 문장들을 넣는다.
}catch (Exception1 e1) {
//예외처리를 위한 문장을 적는다.
} finally {
//예외의 발생여부에 관계없이 항상 수행되어야하는 문장들을 넣는다.
// finally 블럭은 try - catch문의 맨 마지막에 위치해야 한다.
}
예를 들어 프로그램을 설치하는 코드를 작성했다고 하면 프로그램의 설치과정 중에 예외가 발생하더라도, 설치에 사용된 임시파일들이 삭제되도록 finally블럭을 사용하였다
728x90
'코스웨어 > 10년 스마트폰BSP' 카테고리의 다른 글
[BSP]업무일지-전현수-20100827 (0) | 2010.08.27 |
---|---|
[BSP]업무일지-손대원-20100826 (0) | 2010.08.26 |
[BSP]업무일지-김상식-20100825 (5) | 2010.08.26 |
[BSP]업무일지-김석희-20100824 (0) | 2010.08.24 |
[BSP]업무일지- 한정효 2010-08-20 (0) | 2010.08.20 |
[BSP]업무일지- 정호영 2010-08-19 (0) | 2010.08.20 |
[BSP]업무일지-김동훈-20100818 (0) | 2010.08.20 |
[BSP]업무일지-이상구-20100816 (0) | 2010.08.16 |