-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
예외 처리
1. 예외의 개념
- 예외(Exception): 프로그램 실행 중 발생하는 비정상적인 상황을 의미. 예를 들어 배열의 인덱스를 초과하거나, 잘못된 형식의 데이터를 변환하려고 할 때 예외가 발생할 수 있음.
- 예외 처리: 예외가 발생했을 때 프로그램이 중단되지 않고 적절한 처리를 하도록 하는 과정.
2. 기본 구조
- 자바의 예외처리 구조
try { // 예외가 발생할 가능성이 있는 코드 } catch (예외타입 e) { // 예외가 발생했을 때 실행할 코드 } finally { // 항상 실행되는 코드 (예외 발생 여부와 관계없이) }
3. try 블록
- 목적: 예외가 발생할 가능성이 있는 코드를 포함. 이 블록 내에서 예외가 발생하면 즉시 catch 블록으로 제어가 넘어감.
try { arr[0] = "12345"; // 정상적인 코드 arr[1] = "a12345"; // 비숫자 문자열 arr[2] = "45678"; // ArrayIndexOutOfBoundsException 발생 }
4. catch 블록
- 목적: try 블록에서 발생한 예외를 처리. 여러 개의 catch 블록을 사용하여 다양한 예외를 처리할 수 있음.
- 예외를 포괄적으로 처리: JDK 1.7부터는 여러 개의 예외를 하나의 catch 블록에서 처리 가능.
catch (ArrayIndexOutOfBoundsException | NumberFormatException e) { System.out.println("배열의 크기를 확인하거나 숫자만 들어있는지 확인하세요."); e.printStackTrace(); }
5. finally 블록
- 목적: 예외 발생 여부와 관계없이 항상 실행되는 코드를 포함. 주로 자원 정리(파일 닫기, 데이터베이스 연결 해제 등)에 사용.
finally { System.out.println("끝"); }
6. 예외의 종류
- 체크 예외 (Checked Exception): 컴파일 시에 처리해야 하는 예외로,
IOException,SQLException등이 있으며 반드시 try-catch로 처리해야 함. - 언체크 예외 (Unchecked Exception): 런타임에 발생하는 예외로,
NullPointerException,ArrayIndexOutOfBoundsException,NumberFormatException등이 있음. 이들은 선택적으로 처리 가능.
7. 예외처리의 중요성
- 프로그램의 안정성: 예외처리를 통해 프로그램이 예외 상황에서도 중단되지 않고 계속 실행될 수 있도록 함.
- 디버깅: 예외 발생 시 상세한 정보를 제공하여 문제를 쉽게 파악하고 수정할 수 있도록 함.
- 유지보수: 예외를 적절히 처리함으로써 코드의 가독성과 유지보수성을 높임.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels