Language/Java

[JAVA] Error VS. Exception

검은 까마귀 2024. 4. 9. 17:35

# 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;  // 예외가 발생하여 이 문장이 수행된다.
        }
    }
}

* https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%ACException-%EB%AC%B8%EB%B2%95-%EC%9D%91%EC%9A%A9-%EC%A0%95%EB%A6%AC

 

☕ 자바 예외 처리(try catch) 문법 & 응용 정리

예외(Exception) 처리하기 예외 처리(exception handling) 이란, 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는것이다. 자바의 코드를 예외 처리를 한다고 해서 프

inpa.tistory.com

 


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