Java에서 에러(Errors)와 예외(Exceptions)의 주요 차이 중 하나는 에러는 리소스 고갈이나 프로그램의 제어 범위를 벗어난 시스템 문제를 나타내며 일반적으로 에러에서 회복하는 것이 불가능하다는 것입니다. 반면 예외는 프로그램 실행 중에 코드 내에서 발생하는 예상치 못한 이벤트를 나타냅니다. 이러한 예외는 주로 try-catch 블록을 사용하여 대체 동작이나 정보 제공을 통해 처리될 수 있습니다.
public class ErrorExample {
public static void main(String[] args) {
try {
// Intentionally create an array size that is too large to fit into memory
int[] largeArray = new int[Integer.MAX_VALUE];
} catch (Throwable e) {
// Catch the OutOfMemoryError
System.out.println(e.toString());
}
}
}
import java.io.File;
import java.io.FileReader;
public class ExceptionExample {
public static void main(String[] args) {
try {
// Attempt to open a file that does not exist
File file = new File("nonexistent.txt");
FileReader fr = new FileReader(file);
} catch (java.io.FileNotFoundException e) {
// Catch the FileNotFoundException
System.out.println(e.toString());
}
}
}