자바에서 try-catch 문은 어떻게 작동하나요?

자바에서 try-catch 문은 예외(Exception)를 처리하기 위해 사용하는 구문입니다.

프로그램 실행 중에 오류가 발생할 가능성이 있는 코드 블록을 `try` 블록 안에 작성하고, 해당 오류가 발생했을 때 실행할 대체 코드나 예외 처리 코드를 `catch` 블록 안에 작성합니다.

작동 원리 1. try 블록 안에 예외가 발생할 수 있는 코드를 작성합니다.

2. try 블록 내에서 예외가 발생하면 즉시 실행이 중단되고, 발생한 예외의 타입과 일치하는 `catch` 블록이 있는지 탐색합니다.

3. 해당 예외 타입과 맞는 `catch` 블록이 있다면, 그 블록이 실행됩니다.

4. 만약 일치하는 `catch` 블록이 없다면, 예외는 호출한 상위 메서드로 전파(propagation)됩니다.

5. 예외가 처리된 후에는 try-catch 블록 다음의 코드가 계속 실행됩니다.

기본 문법 ```java try { // 예외가 발생할 가능성이 있는 코드 } catch (ExceptionType1 e) { // ExceptionType1 예외 처리 코드 } catch (ExceptionType2 e) { // ExceptionType2 예외 처리 코드 } finally { // 예외 발생 여부와 상관없이 항상 실행되는 코드 (생략 가능) } ``` - `try` 블록: 예외 발생 가능성이 있는 코드를 넣습니다.

- `catch` 블록: 특정 예외를 잡아서 처리합니다.

여러 개를 작성할 수 있습니다.

- `finally` 블록: 예외 발생 여부와 관계없이 항상 실행되는 구문으로, 주로 자원 정리 등을 할 때 사용합니다.

필요에 따라 생략 가능합니다.

예제 ```java public class Example { public static void main(String[] args) { try { int[] numbers = new int[3]; System.out.println(numbers[5]); // ArrayIndexOutOfBoundsException 발생 } catch (ArrayIndexOutOfBoundsException e) { System.out.println("배열 인덱스가 범위를 벗어났습니다.

"); } finally { System.out.println("예외 처리 완료"); } System.out.println("프로그램 계속 실행"); } } ``` 출력 결과 ``` 배열 인덱스가 범위를 벗어났습니다.

예외 처리 완료 프로그램 계속 실행 ``` 위 예제에서 배열의 잘못된 인덱스 접근으로 예외가 발생했지만, `catch` 블록에서 예외를 잡아 메시지를 출력했습니다.

그리고 `finally` 블록을 통해 항상 "예외 처리 완료" 메시지를 출력했습니다.

예외 발생 후에도 프로그램은 정상적으로 이어서 실행됩니다.

--- 자바의 try-catch 문은 프로그램 흐름 내에서 발생할 수 있는 예외 상황을 안전하게 처리하고, 예외로 인해 프로그램이 비정상 종료되지 않도록 돕는 중요한 구조입니다.


관련 게시글

자바에서 병렬 처리를 구현하는 방법은 무엇인가요?

자바에서 병렬 처리는 여러 작업을 동시에 실행하여 프로그램의 성능과 응답성을 향상시키는 기법입니다....

문제 해결 및 면접 질문

문제 해결 및 면접 질문에 관한 글 --- 1. 문제 해결의 중요성 문제 해결 능력은 개인과...

자바에서 중복된 요소를 제거하는 방법은 무엇인가요?

자바(Java)에서 중복된 요소를 제거하는 방법에는 여러 가지가 있습니다. 주로 컬렉션프레임워크를 활용하...

자바 Collections에서 정렬하는 방법은 무엇인가요?

자바 Collections에서 정렬하는 방법에 대해 설명드리겠습니다. 자바에서는 컬렉션(Collection) 자료구조의...

자바의 메모리 누수 문제를 해결하는 방법은 무엇인가요?

자바의 메모리 누수 문제를 해결하는 방법 --- 1. 메모리 누수란? 자바는 가비지 컬렉션(GC)...

팩토리 패턴을 사용하여 주어진 문제를 해결해보세요.

팩토리 패턴을 사용하여 주어진 문제를 해결해보세요. --- 1. 팩토리 패턴이란? 팩토리 패턴...