반응형
예외 처리 코드란?
프로그램에서 예외가 발생한 경우, 프로그램의 갑작스러운 종료를 막고 정상 실행을 유지할 수 있도록 처리하는 코드
자바 컴파일러는 소스 파일을 컴파일 할 때 일반 예외가 발생할 가능성이 있는 코드를 발견하면,
컴파일 오류를 발생시켜서 개발자가 강제적으로 예외 처리 코드를 작성하도록 요구한다.
하지만 실행 예외는 컴파일러가 체크하지 않기 때문에, 개발자의 경험을 바탕으로 작성해야 한다.
예외 처리 코드는 try - catch - finally 사용한다.
try 블록에는 예외 발생 가능성이 있는 코드가 위치한다.
try 블록에서 예외가 발생하지 않고 정상적으로 실행되면,
catch 블록은 실행되지 않고 finally 블록의 코드를 실행한다.
만약 try 블록에서 예외가 발생되면, 즉시 실행을 멈추고 catch 블록으로 이동하여 예외 처리 코드를 실행하고 그 이후 finally 블록의 코드를 실행한다.
finally : 예외 발생 여부와 상관 없이 항상 실행된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public class Test03 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
try {
System.out.println(a/b);
}
catch(ArithmeticException e) {
System.out.println("0으로는 나눌수없습니다.");
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println("인덱스넘버를 다시 확인해보세요.");
}
catch(Exception e) {
e.printStackTrace();
System.out.println("아직 처리되지않은 예외가 발생함!");
}
finally {
System.out.println("예외발생여부와 상관없이 수행되는 구간");
}
System.out.println("프로그램...");
}
}
|
cs |
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 시험 오답풀이 (For-each문) (0) | 2022.06.27 |
---|---|
[JAVA] 파일 입출력 (FileInputStream , FileOutputStream) (0) | 2022.06.27 |
[JAVA] 인터페이스 Interface (0) | 2022.06.27 |
[JAVA] 추상메소드, 추상클래스 (abstract) (0) | 2022.06.27 |
[JAVA] 카드 사용 프로그램 (Equals() 메소드, instanceof 연산자) (0) | 2022.06.26 |