# Error
JAVA는 컴파일언어로 컴파일 시 JAVA의 문법적인 오류와 같은 심각한 문제를 야기시켜 컴파일 중간에 프로세스를 중단 할 수 있다. 메모리 부족, 스택오버 플로우와 같이 발생하면 복구할 수 없는 심각한 오류이다.
프로세스 자체를 중단시키는 것을 Error라고 합니다.
# Exception
동작 도중 예기치 않았던 이상 상태의 발생으로 수행중인 프로그램이 영향을 받은 것으로 경미한 현상이라고 볼 수있다.
이를 Exception이라고 한다. 수습이 가능하고 개발자가 적절히 코드를 작성해준다면 비정상적인 종료는 막을 수 있게 된다. 즉, Error를 Exception상황으로 만들어, Exception Handling을 할 수 있다.
# Throwable 클래스
Error를 Exception상황으로 만들어, Exception Handling을 한다. JAVA에서는 try-catch문을 활용하여 Handling을 한다.
또한, JAVA는 객체지향언어이기 때문에 Exception과 Error도 객체의 형태로 처리할 수 있다. 이러한 객체의 상위객체는 Throwable클래스 이다.
# Exception 종류
Exception은 두 유형으로 분리할 수 있다. 컴파일할때 확인가능한가?
- Checked Exception: 컴파일할때 필수적으로 예외처리가 되어야한다. 아니면 컴파일 안된다.
IOException, SQLException 등등 - Unchecked Exception: 컴파일때 체크할 수가 없다. Runtime Exception들, NullPointerException
# Exception Handling
try-catch를 활용하여 예외처리를 한다.
public class Exception {
public static void main(String[] args) {
int a, b, c;
try {
a = 10;
b = 0;
c = a / b; // 10 나누기 0 → 산술오류 ArithmeticException
} catch (ArithmeticException e) {
c = -1; // 예외가 발생하여 이 문장이 수행된다.
}
}
}
Exception의 종류는 많다. 굳이 암기할 필요가 없어서 필요할때마다 찾아서 어떤식으로 처리해야할지 비즈니스로직을 고민하면 된다.
반응형
'Language > Java' 카테고리의 다른 글
[JAVA] 컴파일 과정 (0) | 2024.04.09 |
---|---|
[JAVA] Gabage Collection (2)🗑️ (0) | 2024.04.09 |
[JAVA] Gabage Collection (1)🗑️ (1) | 2024.04.09 |
[JAVA] 상속 👨👩👧👦 (2) | 2023.09.12 |
[JAVA] JVM 메모리 구조 (0) | 2023.09.12 |