- 런타임 오류(Run-time Error): 프로그램 동작 중 발생하는 오류
- 예외처리: 런타임 오류 발생을 막기 위해 적당한 안전장치를 구현하는 것 → 프로그램의 안정성을 높이고, 신뢰도를 높임
try-catch문
public class Main {
public static void main(String[] args) {
int [] Arr = new int[3];
for(int j = 0 ; j < 4 ; j++) {
Arr[j] = j;
}
}
}
- 위 코드 실행시 에러 뜸 → Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at Main.main(Main.java:8)
- 위 문구는 "Main클래스의 main 메소드에서(Main.java 파일의 8번째 줄) ArrayIndexOutOfBoundsException이 발생했다 "라는 뜻
- ArrayIndexOutOfBoundsException은 배열의 크기보다 더 크거나 작은 위치를 접근하고자 할 때 발생하는 Exception
public class Main {
public static void main(String[] args) {
int [] Arr = new int[3];
try {
for(int j = 0 ; j < 4 ; j++) {
Arr[j] = j;
}
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Exception!!!");
}
}
}
// > Exception!!
- try-catch문을 사용하면 프로그램이 정상 동작함
- try문 안에 있는 소스코드: 해당 부분에서 런타임 오류가 발생할 시 프로그램이 바로 종료되는 것이 아니라 catch문으로 넘어감
- catch문에 있는 exception 클래스가 try문 내에서 발생하는 exception과 일치해야 함
Exception
- try-catch문에 사용되는 클래스
- 런타임 오류가 발생할 시 해당 오류와 관계있는 Exception을 발생하면서 프로그램이 강제 종료됨
- 모든 세부적인 Exception들은 전부 자바의 기본 클래스 중 하나인 Exception이라는 클래스에서 상속받아 구현되어 있음
- Exception 클래스들의 상속 형태
- Exception 밑으로 여러가지 Exception 클래스들이 상속되어 있음
- Exceptiom 클래스 하나만 사용하더라도 모든 종류의 오류를 다 잡아낼 수 있음
'바로 실행해보면서 배우는 java'를 학습하며 정리한 문서
'기타 > Java' 카테고리의 다른 글
Java 문법(10) - 다형성 (0) | 2022.02.08 |
---|---|
Java 문법(9) - 상속, 추상화 (0) | 2022.02.08 |
Java 문법(8) - 이차원배열, 클래스배열 (0) | 2022.02.08 |
Java 문법(7) - 데이터 입출력 (0) | 2022.02.07 |
Java 문법(6) - 클래스와 객체, 접근제한자 (0) | 2022.02.07 |