[Java 활용] 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: 요청 항은 양수여야 합니다.
피보나치 수열 사용을 마칩니다.