예외 처리

minyeob·2024년 2월 17일

java

목록 보기
2/2

🛠 Java 예외 처리 🛠

Java에서는 예외를 처리하기 위해 다양한 예외 클래스를 제공합니다. 이러한 예외들은 크게 Checked ExceptionsUnchecked Exceptions 로 나누어집니다.

1. Checked Exceptions

실행 중 발생할 수 있는 예외로, 이러한 예외는 반드시 처리해야 하며 (try-catch 또는 메서드에 throws 선언), 컴파일 시점에 검사됩니다. 대표적인 체크 예외는 다음과 같습니다.

  • IOException (File I/O 처리 관련 예외)

    • FileNotFoundException
    • SocketException
    • EOFException
  • ClassNotFoundException

  • SQLException (Java Database Connectivity 관련 예외)

  • InterruptedException

2. Unchecked Exceptions

프로그래머의 실수, 잘못된 로직, 또는 예상치 못한 상황에서 발생할 수 있는 예외로서, 고의로 처리하지 않아도 되고 컴파일 시점에 확인되지 않습니다. 대표적인 언체크 예외는 다음과 같습니다.

  • NullPointerException - 객체 초기화를 제대로 수행하지 않거나 사용 후에 null로 할당된 참조를 사용할 때 발생합니다.

  • IllegalArgumentException - 메서드에 잘못된 인수를 전달했을 때 발생하는 예외

  • IndexOutOfBoundsException - 배열이나 컬렉션에서 인덱스의 범위를 벗어나는 요소에 접근하려 할 때 발생하는 예외

    • ArrayIndexOutOfBoundsException

    • StringIndexOutOfBoundsException

  • IllegalStateException - 객체가 아직 준비되지 않았거나 더 이상 사용할 수 없는 상태일 경우에 발생

  • UnsupportedOperationException - 변경 불가능한 컬렉션에 요소를 추가하려고 할 때 이 예외가 발생

  • NumberFormatException - 숫자로 변환될 수 없는 문자열이 숫자로 변환되려는 경우 발생하는 예외

  • ArithmeticException

    • NoSuchElementException - 반복자를 사용할 때 요소가 더 이상 없는 상황에서 다음 요소를 요청하려는 경우 발생

    • ConcurrentModificationException - 컬렉션을 순회하는 동안 동시에 수정하려고 할 때 발생하는 예외입니다. 멀티스레드 환경 또는 싱글 스레드 환경에서 컬렉션의 구조를 변경하면 발생

3. RunTimeException

RuntimeException은 언체크 예외의 상위 클래스로, 프로그래머의 실수나 예상치 못한 상황에서 발생합니다. 이 예외는 코드가 개선되면 발생하지 않으며, 명시적으로 처리하지 않아도 됩니다. NullPointerException, IllegalArgumentException 등 대부분의 언체크 예외는 RuntimeException을 상속받습니다.

profile
백엔드 개발자를 꿈꾸며 공부한 내용을 기록하고 있습니다.

0개의 댓글