Given:



public class Counter {

    public static void main(String[] args) {
        int a = 10;
        int b = -1;
        assert (b >= 1) : "Invalid Denominator";
        int c = a / b;
        System.out.println(c);
    }
}

What is the result of running the code with the -ea option?

A.

-10

B.

0

C. An AssertionError is thrown.
D. A compilation error occurs.

題解

Java的assertion敘述通常用於private方法內,確保傳入方法的參數範圍。當assertion敘述的判斷式為false的時候,就會拋出AssertionError。在執行Java程式的時候,若要啟用assertion敘述的功能,必須要在「java」指令後加上「-ea」或是「-enableassertions」參數來啟用assertion。

在這題的程式中,assertion敘述的判斷式為false,所以會拋出AssertionError。