1. 입력 데이터의 오류
사용자 입력에 대한 유효성 검사를 수행하지 않은 경우, 부적절한 입력으로 인해 예외가 발생할 수 있습니다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
// age로 문자열을 입력할 경우 InputMismatchException 예외 발생
System.out.println(age);
}
}
2. 파일 및 네트워크 관련 오류
파일이 존재하지 않거나 읽기/쓰기 권한이 없는 경우, 파일 처리 중 예외가 발생할 수 있습니다. 또한 네트워크 통신 중 연결이 끊기는 등의 예외도 발생할 수 있습니다.
public class Main {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("/JAVA/text.txt");
// 파일을 찾지 못할 경우 FileNotFoundException 예외 발생
FileReader fr = new FileReader(file);
}
}
3. 배열 인덱스 초과
배열의 유효한 인덱스 범위를 초과하여 접근하는 경우 발생합니다.
public class Main {
public static void main(String[] args) {
int[] ages = new int[1];
// 인덱스 초과로 ArrayIndexOutOfBoundsException 예외 발생
ages[2] = 1;
}
}
4. 0으로 나누기
어떤 값을 0으로 나누는 경우 예외가 발생합니다.
public class Main {
public static void main(String[] args) {
int age = 100;
// ArithmeticException 예외 발생
System.out.println(age / 0);
}
}
5. 객체 참조 오류
객체가 생성되지 않은 상태에서 해당 객체를 참조하려 할 경우 에외가 발생합니다.
public class Main {
public static void main(String[] args) {
String name = null;
// NullPointerException 예외 발생
name.toString();
}
}
6. 메모리 부족
프로그램이 필요한 메모리를 할당받을 수 없는 상황에서 OutOfMemoryError 예외가 발생합니다.
7. 스택 오버플로우
재귀 호출이 너무 깊어질 때 스택이 가득 차서 StackOverflowError 예외가 발생합니다.
'JAVA > 예외 처리' 카테고리의 다른 글
[JAVA] throw와 throws (0) | 2023.08.28 |
---|---|
[JAVA] finally 블록 (0) | 2023.08.28 |
[JAVA] 여러 개의 catch 블록 사용 및 예외 처리 순서 (0) | 2023.08.28 |
[JAVA] try-catch 블록의 구조와 동작 원리 (0) | 2023.08.20 |
[JAVA] 예외란 무엇인가? (0) | 2023.08.20 |