2012년 10월 16일 화요일

OCJP 문제풀이 - Question 16


QUESTION 16
Given:

public static void parse(String str) {
  try {
    float f = Float.parseFloat(str);
  } catch (NumberFormatException nfe) {
    f = 0;
  } finally {
    System.out.println(f);
  }
}
public static void main(String[] args) {
  parse("invalid");
}

What is the result?

A. 0.0
B. Compilation fails.
C. A ParseException is thrown by the parse method at runtime.
D. A NumberFormatException is thrown by the parse method at runtime.

Answer: B
Section: All

Explanation/Reference:

line 3에서 f 변수를 float로 선언했는데, 이 변수는 지역변수로 try 블록 내에서만 존재한다. 즉, line 5에서 f 변수를 선언하지 않았다는 오류메세지가 compile시에 뜨게된다.

블로그 보관함