프로그램 실행 시 예상치 못한 입력이나 상황으로 오류가 발생한다. 이때, 프로그램이 종료되지 않고 정상적으로 동작하도록 처리하는 방법을 예외처리라고 한다.
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
FileReader file = new FileReader("test.txt");
IOException 발생IOException 발생 try {
Connection conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println("DB 연결 실패");
}
Scanner 입력 오류
int num = sc.nextInt(); // 문자 입력 시 오류 발생
null 객체 접근
String str = null;
str.length(); // 오류
0으로 나누기
int a = 10 / 0;
배열 범위 초과
int[] arr = new int[3];
arr[5] = 10;
잘못된 값 입력
throw new IllegalArgumentException("잘못된 입력");
try {
// 예외 발생 가능 코드
} catch (Exception e) {
// 예외 발생 시 처리
}
try {
int num = sc.nextInt();
} catch (Exception e) {
System.out.println("오류 발생");
}
모든 예외를 한 번에 잡을 수 있어 편하지만
어떤 오류가 발생했는지 구분 불가
디버깅 어려움
예상하지 못한 예외까지 처리
try {
int num = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("숫자를 입력해주세요.");
}