Skip to Content
Java에 대한 기능적 접근 방식
book

Java에 대한 기능적 접근 방식

by Ben Weidig
May 2025
Beginner to intermediate
414 pages
5h 58m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Java에 대한 기능적 접근 방식

10장. 기능적 예외 처리

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

완벽하고 오류 없는 코드를 작성하고 싶지만 이는 거의 불가능한 일입니다. 그렇기 때문에 코드에서 불가피한 문제를 처리할 방법이 필요합니다. 이러한 파괴적이고 비정상적인 제어 흐름 조건을 처리하기 위해 Java가 선택한 메커니즘은 예외입니다.

예외 처리는 명령형 및 OO 코드에서도 까다로울 수 있습니다. 그러나 예외를 기능적 접근 방식과 결합하는 것은 고려 사항과 요구 사항으로 가득 찬 기술이기 때문에 매우 어려울 수 있습니다. 이를 지원할 수 있는 타사 라이브러리가 있지만 장기적으로 이러한 라이브러리에만 의존하여 새로운 종속성으로 인한 기술적 부채를 발생시키는 대신 전체적으로 더 기능적인 접근 방식에 적응하는 것은 원하지 않을 수도 있습니다.

이 장에서는 다양한 종류의 예외와 예외가 함수형 프로그래밍에 미치는 영향에 대해 설명합니다. 함수형 맥락에서 제어 흐름 중단에 접근하는 다른 방법뿐만 아니라 Lambda에서 예외를 처리하는 방법을 배웁니다.

Java 예외 처리 요약

일반적으로 예외는 프로그램 실행 중에 발생하는 특수 이벤트로, 정상적인 명령의 흐름을 방해합니다. 이 개념은 Java뿐만 아니라 다양한 프로그래밍 언어에 존재하며 Lisp의 기원으로 거슬러 올라갑니다.1

예외를 처리하는 실제 방식은 언어에 따라 다릅니다.

트라이 캐치 블록

Java가 선택한 메커니즘은 try-catch 블록으로, 언어의 필수 요소입니다:

try {
  return doCalculation(input);
} catch (ArithmeticException e) {
  this.log.error("Calculation failed", e);
  return null;
}

처음 도입된 이후 전체적인 개념은 약간 진화했습니다. 여러 개의 catch 블록이 필요한 대신, 유형 사이에 | (파이프)를 사용하여 multi-catch 블록으로 두 개 이상의 예외를 잡을 수 있습니다:

try {
  return doCalculation(input);
} catch (ArithmeticException | IllegalArgumentException e) {
  this.log.error("Calculation failed", e);
  return null;
}

리소스를 처리해야 하는 경우 try-with-resources 구문을 사용하면 AutoCloseable 을 구현하는 모든 리소스가 자동으로 닫힙니다:

try (var fileReader = new FileReader(file);
     var bufferedReader = new BufferedReader(fileReader)) {

    var firstLine = bufferedReader.readLine();
    System.out.println(firstLine);
} catch (IOException e) {
  System.err.println("Couldn't ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

자바로 배우는 핵심 자료구조와 알고리즘: 기술 면접에 필요한 실용주의 자료구조와 알고리즘

자바로 배우는 핵심 자료구조와 알고리즘: 기술 면접에 필요한 실용주의 자료구조와 알고리즘

유동환, 앨런 B. 다우니
Java의 반응형 시스템

Java의 반응형 시스템

Clement Escoffier, Ken Finnigan

Publisher Resources

ISBN: 9798341654457Supplemental Content