ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 19. 예외처리(1/2)
    [JAVA] 2023. 5. 26. 16:51

    1. 예외처리

     1) 컴파일 에러: 컴파일 할 때 발생하는 에러 (javac.exe : 자바 컴파일러)
     2) 런타임 에러: 실행할 때 발생하는 에러 => 프로그램 종료
         * 에러: 프로그램 코드에 의해서 수습될 수 없는 '심각'한 오류 / 는 어쩔 수 없다
         ** 예외: 프로그램 코드에 의해서 수습될 수 있는 '미약'한 오류 / 는 처리하자
         *** 예외처리: 예외를 대비한 코드를 작성하는 것, 비정상 종료를 막고 정상적인 상태를 유지하기 위함
     3) 논리적 에러: 작성 의도와 다르게 동작 => 프로그램 종료X

     

    2. 예외 처리하기 (try-catch문)


    - 블럭 내에서 예외가 발생한 경우
      * 발생한 예외와 일치하는 catch블럭이 있는지 확인
      ** 일치하는 catch블럭을 찾으면 문장들을 수행하고 전체 try-catch문을 빠져나가 계속 수행
    - try블럭 내에서 예외가 발생하지 않은 경우
      * catch블럭을 거치지 않고 전체 try-catch문을 빠져나가서 수행을 계속한다.

     


    3. printStackTrace()와 getMessage()


     1) printStackTrace(): 예외발생 당시의 호출스택에 있었던 메서드의 정보와 예외 메세지를 출력
     2) getMessage(): 발생한 예외클래스의 인스턴스에 저장된 메세지를 얻을 수 있다.
     3) 멀티 catch블럭: 내용이 같은 catch블럭을 하나로 합친 것

     


    4. 예외 발생시키기


    - 연산자 new를 이용해서 발생시키려는 예외 클래스 객체를 만들고,
      키워드 throw를 이용해서 예외를 발생시킨다.
    - checked예외: 컴파일러가 예외 처리 여부를 체크 *예외처리 필수
    - unchecked예외: 컴파일러가 예외 처리 여부를 체크 안함 *예외 처리 선택

Designed by Tistory.