[Java] 10. 예외처리

PYOUNANI·2022년 11월 4일
0

Java

목록 보기
11/14
post-thumbnail

10. 예외처리

10-1. 예외


10-1-1. 예외란

예외란 프로그램 실행 중에 예기치 못한 상황에서 발생하는 비정상적인 상황을 가리킵니다.

  • 정수를 0으로 나누는 경우
  • 유효하진 않은 배열의 첨자를 사용한 선택식
  • 객체가 할당되지 않은 참조변수의 사용
  • 잘못된 형식의 콘솔 입력이나 파일 접근시의 문제
  • 메서드 호출에 의해 발생

10-1-2. 예외처리

예외처리란 예외 발생 시 프로그램의 비정상적인 종료대신 계속해서 정상적인 수행을 할 수 있도록 처리하는 것입니다.

프로그램에서 예외도 하나의 객체로 표현되어 일반 객체처럼 클래스를 이용하여 정의되어 사용 가능합니다.
java.lang.Throwable로부터 파생된 클래스로 throws할 수 있습니다.

  • try ~ catch 문에 의해 직접 처리
  • 메서드 호출측으로 던져짐 = throws

10-1-3. 예외 클래스의 종류와 구조

  • Exeption 클래스 : 상대적으로 덜 심각한 예외로 예외처리의 동반이 필수가 아닙니다.
  • Error 클래스 : 더 심각한 예외로 에러라 불리며 예외처리의 동반이 필수입니다.

Exeption 클래스

  • Checked Exception : 반드시 예외처리를 해야지만 컴파일이 가능합니다.
  • Unchecked Exception(RuntimeException) : 필요에 따라 예외처리가 가능하며 하지 않아도 컴파일이 가능합니다.

10-1-4. 예외 메시지 표시 방법

Throwable 클래스의 멤버 메서드를 사용합니다.

  • String getMessage() : 예외 객체가 가지고 있는 에러 메시지를 반환합니다.
  • void printStackTrace() : 예외 발생 원인과 경로를 추적하여 콘솔에 표시합니다.

10. 예외처리

10-2. 예외처리 방법


10-2-1. try~catch문

  • try문 : 예외가 발생할 가능성이 있는 실행문 (예외 발생 시 catch 문으로 전달)
  • catch문 : 예외 처리문
//예시

10-2-2. throws문

메서드 구현부에 기술하며 예외발생시 예외 처리를 현재 메서드를 호출한 곳으로 양도합니다. 즉, 언젠가는 try~catch문으로 처리해주어야 합니다.

  • throw <예외객체>
  • throw new <예외클래스생성자>
//예시

10-2-3. 사용자 정의 예외

프로그래머가 직접 필요한 예외 클래스를 만들어 사용합니다.

//예시

0개의 댓글