English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 지향형 객체(I)

Java 지향형 객체(II)

Java 지향형 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 셋

Java Set 셋

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 예외 (Exceptions)

이 튜토리얼에서는 Java에서 예외를 배울 것입니다. Java의 에러, 예외 및 다양한 유형의 예외를 소개할 것입니다.

 예외는 프로그램 실행 중 발생하는 예기치 않은 사건입니다. 이는 프로그램 명령어 흐름에 영향을 미치고, 프로그램이 비정상적으로 종료되는 원인이 됩니다.

 예외가 발생하는 이유는 많습니다. 그 중에는 다음이 있습니다:

  • 잘못된 사용자 입력

  • 장치 故障

  • 네트워크 연결 손실

  • 물리적 제한(디스크 메모리 부족)

  • 코드 오류

  • 사용할 수 없는 파일을 열기

Java 예외 계층 구조

이는 Java에서 예외 계층 구조의 간단한 그림입니다.

위의 그림에서 볼 수 있듯이, Throwable 클래스는 계층 구조의 뿌리 클래스입니다.

주의하십시오, 계층 구조는 두 가지 분기로 나뉩니다: Error(Error)와 Exception(Exception).

Error

Error불복구할 수 없는 상황을 나타냅니다. 예를 들어, Java 가상 머신(JVM) 메모리 부족, 메모리 누수, 스택 오버플로우 에러, 라이브러리 불일치, 무한 재귀 등이 있습니다.

에러는 프로그래머가 제어할 수 없는 것이므로, 에러를 처리하려는 시도는 하지 않아야 합니다.

Exception

프로그램은 예외를 잡고 처리할 수 있습니다예외

메서드 내에서 예외가 발생하면, 이는 예외 객체를 생성합니다. 이 객체는 예외 객체라고 합니다.

이는 예외의 이름과 설명 및 예외가 발생한 시점의 프로그램 상태와 같은 예외에 대한 정보를 포함합니다.

다음 튜토리얼에서는 이러한 예외를 처리하는 방법을 배울 것입니다. 이 튜토리얼에서는 현재 Java에서 다양한 유형의 예외에 대해 중점을 두겠습니다.

Java 예외 유형

예외 계층 구조는 두 가지 분기로 나뉩니다: RuntimeException과 IOException。

1. RuntimeException

실행 시 예외프로그래밍 오류로 인해 발생합니다. 이들은 또한비 검사 예외

이러한 예외는 컴파일 시에 대신 실행 시에 확인됩니다. 일반적인 실행 시 예외는 다음과 같습니다:

  • API 사용 불當 - IllegalArgumentException

  • 빈 포인터 접근(변수 초기화가 부족)- NullPointerException

  • 경계를 벗어난 배열 접근 - ArrayIndexOutOfBoundsException

  • 숫자를 0으로 나누기 - ArithmeticException

 이렇게 생각할 수 있습니다:이것이 실행 시간 예외라면 그것은 당신의 잘못입니다”。

변수를 사용하기 전에 변수가 초기화되었는지 확인하면 NullPointerException이 발생하지 않습니다。
배열 경계에 따라 배열 인덱스를 테스트하면 ArrayIndexOutOfBoundsException이 발생하지 않습니다。

2. IOException

IOException은 다음과 같이도 불립니다체크 예외。그들은 컴파일러가 컴파일 중에 확인하고 프로그래머에게 예외를 처리하도록 안내합니다。

체크 예외의 몇 가지 예시는 다음과 같습니다:

  • 존재하지 않는 파일을 열려고 시도하면 FileNotFoundException이 발생합니다

  • 파일 끝을 넘어서는 내용을 읽으려고 시도하면

이제 예외에 대해 이해했으므로 다음 강의에서 배울 것입니다예외 처리