예외

  • error
  • exception
    • checked
    • 무조건 핸들링해줘야함
  • runtimeExceptino
    • unchecked
    • 컴파일은 진행됨

종류

  • 배열의 범위 벗어남
    • 컴파일은 잘됨
    • runtime

try catch

  • 에러의 메소드
    • getMessage
    • getCause
    • printStackTrace
  • 예외 발생시 try의 아래의 코드는 실행 안함

  • catch순서
    • 자식 에러 객체가 있으면 catch를 한다.
    • 조상의 에러 객체는 제일 뒤로

try catch finally

  • finally는 예오 ㅣ여부 없이 언제나 실행

try catch resources

  • 1.7이상
  • try(리소스 반환할것 선언){}
    • 알아서 반환해준다.

throws

  • 예외를 호출한곳으로 전달
  • 함수의 선언부 뒤에 작성한다.
  • runtime은 throws를 안해도 전달됨
    • 0나누기, 배열 넘어가는거
  • 조상메소드가 던지는 예외보다 자식메소드가 던지는 예외는 낮아야한다.

사용자 정의 예외

  • exception/runtimeException을 상속받아 작성
  • 출력내용
    • 생성자의 super(“오류내용작성”);을 통해 출력가능
  • 발생한 경우
    • throw new 사용자정의예외();