게으른 개발자의 끄적거림

try catch exception 설명

끄적잉 2024. 1. 3. 21:51
반응형

`try`, `catch`, 그리고 예외(exception)에 관한 개념은 프로그래밍에서 예외 상황을 처리하고 프로그램의 안정성을 높이는 데 중요합니다. 아래에서 `try-catch` 블록과 예외의 종류에 대해 자세히 설명하겠습니다.

 


### try-catch 블록:

- try 블록: `try` 블록은 예외가 발생할 수 있는 코드를 포함합니다. 이 부분에서 예외가 발생하면 해당 예외를 처리하는 데 사용됩니다.

- catch 블록: `catch` 블록은 `try` 블록에서 발생한 예외를 처리합니다. 여러 `catch` 블록이 있을 수 있으며, 발생한 예외의 종류에 따라 적절한 `catch` 블록이 선택됩니다.

- finally 블록 (선택적): `finally` 블록은 예외 발생 여부에 관계없이 항상 실행되는 블록입니다. 주로 리소스 해제나 정리 작업을 위해 사용됩니다.

아래는 기본적인 `try-catch` 블록의 구조입니다:


try {
    // 예외가 발생할 수 있는 코드
} catch (ExceptionType1 e1) {
    // ExceptionType1에 대한 처리
} catch (ExceptionType2 e2) {
    // ExceptionType2에 대한 처리
} finally {
    // 항상 실행되는 코드 (선택적)
}

반응형

 

 

 

Java에서는 예외(exception)를 두 가지 주요 범주로 나눌 수 있습니다: Checked 예외Unchecked 예외. 각각의 예외 범주에는 여러 가지 예외 클래스들이 포함되어 있습니다.

Checked 예외 (Checked Exception):

Checked 예외는 컴파일러가 예외 처리를 강제하는 예외입니다. 다루지 않으면 컴파일 오류가 발생합니다.

  1. IOException:
    • 파일 또는 네트워크와 관련된 입출력 작업에서 발생할 수 있는 예외를 다룹니다.
  2. SQLException:
    • 데이터베이스 관련 작업에서 발생할 수 있는 예외를 다룹니다.
  3. ClassNotFoundException:
    • 클래스를 찾을 수 없는 경우 발생하는 예외입니다.
  4. InterruptedException:
    • Thread.sleep() 등의 메서드를 사용할 때, 스레드가 중단될 경우 발생하는 예외입니다.
  5. FileNotFoundException:
    • 파일을 찾을 수 없는 경우 발생하는 예외입니다.

Unchecked 예외 (Unchecked Exception 또는 Runtime Exception):

Unchecked 예외는 컴파일러가 확인하지 않으며, 명시적인 예외 처리가 필수가 아닙니다. 프로그래머가 주의해야 하며, 발생 시 프로그램의 안정성이 영향을 받을 수 있습니다.

  1. NullPointerException:
    • null 참조를 가지고 있는 변수를 엑세스할 때 발생하는 예외입니다.
  2. ArrayIndexOutOfBoundsException:
    • 배열 인덱스가 배열의 범위를 벗어날 때 발생하는 예외입니다.
  3. ArithmeticException:
    • 수학 연산 중에 예외적인 산술 조건이 발생했을 때 발생하는 예외입니다. (예: 0으로 나누기)
  4. ClassCastException:
    • 객체를 부적절한 형으로 캐스팅하려고 할 때 발생하는 예외입니다.
  5. NumberFormatException:
    • 문자열을 숫자로 변환하는 과정에서 유효하지 않은 숫자 형식의 문자열이 사용되었을 때 발생하는 예외입니다.

Error:

Error 클래스는 프로그램이 복구할 수 없는 심각한 상태에 도달했을 때 발생하는 예외입니다. 애플리케이션 코드에서 이러한 예외를 처리하기보다는 예외를 기록하고 종료하는 것이 일반적입니다.

  1. OutOfMemoryError:
    • JVM이 힙 메모리를 추가로 할당할 수 없을 때 발생하는 예외입니다.
  2. StackOverflowError:
    • 재귀 호출이 너무 깊어서 스택 공간이 부족한 경우 발생하는 예외입니다.

이것은 Java에서 일반적으로 발생하는 예외의 몇 가지 예시입니다. 개발자는 어떤 예외가 발생할 수 있는지 알아야 하고, 각 예외에 대한 적절한 예외 처리를 구현하여 프로그램의 안정성을 유지해야 합니다.

반응형