Jay's Cookbook
Menu
  • Tags
  • Categories
  • Projects
Computer Science
OS
Network
Data Structure
Algorithm
Language
Code Architecture
Python
Javascript
Typescript
Java
Backend
Backend Theory
TypeORM
Node.js
NestJS
FastAPI
Frontend
HTML/CSS
React
Next.js
Data Engineering
DE Theory
MySQL
MongoDB
Elastic
Redis
Kafka
Spark
Airflow
AI
Basic
Pytorch
NLP
Computer Vision
Data Analytics
Statistics
Pandas
Matplotlib
DevOps
Git
Docker
Kubernetes
AWS
Java Series [Part11]: 자바의 예외 처리
language
java

Java Series [Part11]: 자바의 예외 처리

Jay Kim
Jay Kim 10 Feb 2025
Java Series [Part10]: 자바의 객체지향 프로그래밍(2) Java Series [Part12]: 자바의 컬렉션 프레임워크

Table of Contents

  • 자바의 예외 처리 (Exception Handling in Java)
    • 1. 예외(Exception)란?
    • 2. 예외의 종류
      • 2.1 체크 예외 (Checked Exception)
      • 2.2 언체크 예외 (Unchecked Exception)
    • 3. 예외 처리 방법
      • 3.1 try-catch 문
      • 3.2 다중 catch 문
      • 3.3 finally 문
      • 3.4 throws 키워드
      • 3.5 사용자 정의 예외
    • 4. 예외 처리의 중요성
    • 5. 결론

자바의 예외 처리 (Exception Handling in Java)

1. 예외(Exception)란?

프로그래밍에서 예외(Exception)란 실행 중 발생할 수 있는 오류를 의미합니다. 예외가 발생하면 프로그램이 비정상적으로 종료될 수 있으므로 적절한 예외 처리가 필요합니다.

2. 예외의 종류

자바에서 예외는 크게 두 가지로 나뉩니다:

2.1 체크 예외 (Checked Exception)

  • 컴파일 타임에 체크되는 예외로, 반드시 예외 처리를 해야 합니다.
  • IOException, SQLException 등이 이에 해당합니다.

2.2 언체크 예외 (Unchecked Exception)

  • 실행 중(Runtime) 발생하는 예외로, 컴파일러가 강제하지 않습니다.
  • NullPointerException, ArrayIndexOutOfBoundsException, ArithmeticException 등이 이에 해당합니다.

3. 예외 처리 방법

자바에서 예외를 처리하는 방법은 다음과 같습니다.

3.1 try-catch 문

try {
    int result = 10 / 0; // ArithmeticException 발생
} catch (ArithmeticException e) {
    System.out.println("0으로 나눌 수 없습니다: " + e.getMessage());
}

3.2 다중 catch 문

try {
    String text = null;
    System.out.println(text.length());
} catch (NullPointerException e) {
    System.out.println("Null 값 접근 오류: " + e.getMessage());
} catch (Exception e) {
    System.out.println("예기치 않은 예외 발생: " + e.getMessage());
}

3.3 finally 문

  • 예외 발생 여부와 상관없이 실행되는 블록입니다.
try {
    FileReader file = new FileReader("test.txt");
} catch (FileNotFoundException e) {
    System.out.println("파일을 찾을 수 없습니다.");
} finally {
    System.out.println("예외 처리 종료.");
}

3.4 throws 키워드

  • 메서드에서 발생할 수 있는 예외를 호출자에게 위임합니다.
public void readFile() throws IOException {
    FileReader file = new FileReader("test.txt");
}

3.5 사용자 정의 예외

  • Exception 클래스를 상속받아 사용자 정의 예외를 만들 수 있습니다.
class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

public class Main {
    public static void main(String[] args) {
        try {
            throw new CustomException("사용자 정의 예외 발생!");
        } catch (CustomException e) {
            System.out.println(e.getMessage());
        }
    }
}

4. 예외 처리의 중요성

  • 프로그램이 예상치 못한 오류로 중단되지 않도록 합니다.
  • 오류를 로깅하고 적절한 조치를 취할 수 있습니다.
  • 유지보수성과 가독성이 향상됩니다.

5. 결론

자바의 예외 처리는 프로그램의 안정성을 높이는 중요한 요소입니다. 적절한 예외 처리를 통해 예외 상황을 효과적으로 관리하고, 보다 신뢰할 수 있는 애플리케이션을 개발할 수 있습니다.

Java Series [Part10]: 자바의 객체지향 프로그래밍(2) Java Series [Part12]: 자바의 컬렉션 프레임워크

You may also like

See all java
25 Mar 2025 Java OOP Series [Part3]: 디자인 패턴
language
java

Java OOP Series [Part3]: 디자인 패턴

20 Mar 2025 Java OOP Series [Part2]: 객체지향
language
java

Java OOP Series [Part2]: 객체지향

15 Mar 2025 Java OOP Series [Part1]: 클래스와 인스턴스
language
java

Java OOP Series [Part1]: 클래스와 인스턴스

Jay Kim

Jay Kim

Web development, data engineering for human for the Earth. I share posts, free resources and inspiration.

Rest
Lifestyle
Hobby
Hobby
Hobby
Hobby
2025 © Jay's Cookbook. Crafted & Designed by Artem Sheludko.