출처: https://bumcrush.tistory.com/182 [맑음때때로 여름]

예외클래스

docs.oracle.com/javase/8/docs/api/java/lang/Exception.html

Exception
    |
    |--- IOException
    |--- ClassNotFoundException
    |--- ...
    |--- RuntimeException
            |--- ArithmeticException
            |--- ClassCastException
            |--- NullPointerException
            |--- ...
            |--- IndexOutOfBoundsException
InputMismatchException 타입이 맞지 않을때 ex) int 인데 숫자가 아닌 다른 것이 입력되었을 때
ArithmeticException 산술연산 에러 ex) 나누는 수가 0일 때 (10/0)
NullPointerException 참조값이 없는 경우
ArrayIndexOutOfBoundsException 배열의 범위에서 인덱스 값을 벗어난 경우
ClassCastException 적절치 못하게 클래스를 형변환 하는 경우
NegativeArraySizeException 배열의 크기가 음수값인 경우
OutOfMemoryException 사용 가능한 메모리가 없는 경우
NoClassDefFoundException 원하는 클래스를 찾지 못한 경우
NumberFormatExcpeion 문자열을 숫자로 변경할 때 숫자가 변환될 수 없는 문자가 포함되어있음
실행 예외 (RuntimeException)
  • 예외가 발생하면 JVM은 해당하는 실행 예외 객체를 생성
  • 실행 예외는 컴파일러가 예외 처리 여부를 확인하지 않음. 따라서 개발자가 예외 처리 코드의 추가 여부를 결정
  • 대표적인 실행 예외 예
실행 예외 발생 이유
ArithmeticException 0으로 나누기와 같은 부적절한 산술 연산을 수행할 때 발생
IllegalArgumentException 메서드에 부적절한 인수를 전달할 때 발생
IndexOutOfBoundsException 배열, 벡터 등에서 범위를 벗어난 인덱스를 사용할 때 발생한다.
NoSuchElementException 요구한 원소가 없을 때 발생한다.
NullPointerException null 값을 가진 참조 변수에 접근할 때 발생한다.
NumberFormatException 숫자로 바꿀 수 없는 문자열을 숫자로 변환하려 할 때 발생한다.
일반 예외
  • 컴파일러는 발생할 가능성을 발견하면 컴파일 오류를 발생
  • 개발자는 예외 처리 코드를 반드시 추가
  • 대표적인 일반 예외 예
일반 예외 발생 이유
ClassNotFoundException 존재하지 않는 클래스를 사용하려고 할 때 발생한다.
InterruptedException 인터럽트 되었을 때 발생한다.
NoSuchFieldException 클래스가 명시한 필드를 포함하지 않을 때 발생한다.
NoSuchMethodException 클래스가 명시한 메서드를 포함하지 않을 때 발생한다.
IOException 데이터 읽기 같은 입출력 문제가 있을 때 발생한다.

 

'JAVA > basic' 카테고리의 다른 글

[ 컬렉션 Collection<E> ] ArrayList  (0) 2020.10.23
[ 컬렉션 Collection<E> ] 컬렉션 프레임워크  (0) 2020.10.22
generic / 제네릭  (0) 2020.10.22
예외처리 / throw  (0) 2020.10.21
예외처리 / try-catch-finally  (0) 2020.10.21
인터페이스 / interface / implements  (0) 2020.10.20
추상클래스 / abstract class  (0) 2020.10.20

+ Recent posts