[Java] 12. 예외 처리(Exception handling)(1) - 예외 처리란?

2024. 7. 9. 05:37·Programming Language/Java
목차
  1. 프로그램 오류
  2. 예외 클래스의 계층 구조
  3. 예외처리란?

예외 처리(exception handling) - 예외 처리란?


프로그램 오류

  • 컴파일 에러 : 컴파일 시에 발생하는 에러

  • 런타임 에러 : 실행 시에 발생하는 에러

  • 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것

  • 그러면 에러와 예외의 차이점은 무엇인가요?

    • 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류

      • 예외 : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

예외 클래스의 계층 구조

  • 자바는 실행 시 발생할 수 있는 오류(Exception, Error)를 클래스로 정의했다.

    • 모든 클래스의 조상은 Object이므로 Exception과 Error클래스 역시 Object 클래스의 자손이다.
  • 예외 클래스는 다음과 같이 두 개의 그룹으로 나눌 수 있다.

    • RuntimeException 클래스와 그 자손클래스들

      • 주로 프로그래머의 실수에 의해서 발생될 수 있는 예외들로 자바의 프로그래밍 요소들과 관계가 깊다.

      • ex) 배열의 범위를 벗어난 경우, null인 참조변수의 멤버를 호출하는 경우, 클래스간의 형변환을 잘못하는 경우, 정수를 0으로 나누려고 하는 경우

    • Exception 클래스와 그 자손클래스들

      • 주로 외부 영향으로 발생할 수 있는 것들로 사용자들의 동작에 의해 발생하는 경우가 많다.
      • ex) 존재하지 않는 파일의 이름을 입력하는 경우, 실수로 클래스의 이름을 잘못 적는 경우, 입력한 데이터 형식이 잘못된 경우

예외처리란?

  • 실행도중에 발생하는 에러는 어쩔 수 없지만, 예외는 프로그래머가 이에 대한 처리를 미리 해주어야 한다.

  • 예외처리(exception handling)이란 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이다.

    • 예외 처리의 목적은 예외의 발생으로 인한 실행중인 프로그램의 갑작스런 비정상 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것이다.

    • 예외처리를 하기 위해 try-catch문을 사용한다

참조) Java의 정석 3rd edition(남궁성, 도우출판)

'Programming Language > Java' 카테고리의 다른 글

[Java] 14. 예외 처리(Exception handling)(3) - 메서드에 예외 선언하기  (0) 2024.07.09
[Java] 13. 예외 처리(Exception handling)(2) - try-catch 문  (0) 2024.07.09
[Java] 11. OOP - 내부 클래스(Inner Class), 익명 클래스  (0) 2024.07.07
[Java] 10. OOP - 인터페이스(Interface)  (0) 2024.07.07
[Java] 09. OOP - 추상 클래스(abstract class)  (0) 2024.06.24
  1. 프로그램 오류
  2. 예외 클래스의 계층 구조
  3. 예외처리란?
'Programming Language/Java' 카테고리의 다른 글
  • [Java] 14. 예외 처리(Exception handling)(3) - 메서드에 예외 선언하기
  • [Java] 13. 예외 처리(Exception handling)(2) - try-catch 문
  • [Java] 11. OOP - 내부 클래스(Inner Class), 익명 클래스
  • [Java] 10. OOP - 인터페이스(Interface)
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Spring
        • MVC
        • DB
        • 핵심 원리
        • JPA
      • WEB
        • HTML
        • CSS
        • HTTP
        • Application
      • Computer Science
        • Network
        • Database
        • OS
        • 시스템 프로그래밍
        • 컴퓨터구조
      • Algorithm
        • Divide&Conquer
        • Sort
        • Greedy
        • DP
        • Backtracking
        • NP-Complete
        • Graph
      • Data Structure
        • 자료구조
        • C++ STL
        • Java Collection
      • 소프트웨어 공학
        • 시험 공부 정리
        • Theorem
      • Programming Language
        • Python
        • Java
        • C
        • C++
        • Rust
        • Theory
      • Unix_Linux
        • Common
      • React
      • PS
        • BOJ
        • Tip
        • 프로그래머스
        • CodeForce
      • Book Review
        • Clean Code
      • Math
        • Linear Algebra
      • AI
        • DL
        • ML
        • DA
        • Concepts
      • 우아한테크코스
        • 프리코스
      • Project Review
      • LegacyPosts
      • Android
      • Apple
        • Mac
        • IPhone
        • IPad
      • 모니터
      • Diary
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
lumana
[Java] 12. 예외 처리(Exception handling)(1) - 예외 처리란?
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.