2.4 예외 발생에 관계없이 수행해야 할 코드는 finally 문 사용
Java 언어에서는 예외 처리를 할 때 예외 발생에 관계없이 수행해야 할 코드를 작성할 수 있도록 finally 문을 제공하고 있습니다.
다음은 finally 문을 사용하는 예제 코드입니다.
▷ 소스 2.6 finally 문 사용 예
//finally 문 사용 예 import java.util.Scanner; public class Program { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); try{ int n=0; System.out.println("피보나치 수열을 구할 수 있습니다."); System.out.print("원하는 항:"); n = scanner.nextInt(); int value = Fibonacci(n); System.out.println("Fibbonacci("+n+")="+value);
} catch(Exception ex){ System.out.println("예외 발생"); System.out.println(ex.toString()); } finally{ System.out.println("피보나치 수열 사용을 마칩니다."); } } static int Fibonacci(int n) throws Exception{ if(n<=0){ throw new Exception("요청 항은 양수여야 합니다."); } if((n==1)||(n==2)){ return 1; } return Fibonacci(n-1)+Fibonacci(n-2); } } |
▷ 소스 2.6 실행 결과(3을 입력했을 때)
피보나치 수열을 구할 수 있습니다. 원하는 항:3 Fibbonacci(3)=2 피보나치 수열 사용을 마칩니다. |
▷ 소스 2.6 실행 결과(-3을 입력했을 때)
피보나치 수열을 구할 수 있습니다. 원하는 항:-3 예외 발생 java.lang.Exception: 요청 항은 양수여야 합니다. 피보나치 수열 사용을 마칩니다. |
'언어 자료구조 알고리즘 > 디딤돌 Java 언어 Part2 활용' 카테고리의 다른 글
[Java 언어 활용] 3.3 Collection 인터페이스 (0) | 2016.12.10 |
---|---|
[Java 언어 활용] 3.2 컬렉션 (0) | 2016.12.10 |
[Java 언어 활용] 3.1 제네릭(Generic) (0) | 2016.12.10 |
[Java 언어 활용] 3. 제네릭과 컬렉션 (0) | 2016.12.10 |
[Java 언어 활용] 2.5 예외 클래스 정의하기 (0) | 2016.12.08 |
[Java 언어 활용] 2.3 프로그램 방식으로 예외를 던지는 throw 문 (0) | 2016.12.08 |
[Java 언어 활용] 2.2 예외를 잡아서 처리하기 (0) | 2016.12.08 |
[Java 언어 활용] 2.1 Throwable 클래스의 계층 구조 (0) | 2016.12.08 |
[Java 언어 활용] 2. 예외(Exception) (0) | 2016.12.08 |
[Java 언어 활용] 1.1 패키지와 import (0) | 2016.12.07 |