Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which line is an inappropriate use of an assertion?

public class Sample22
{
    public static void main(String[] args)
    {
        String home = System.getProperty("app.home");
        assert home != null : "app.home not set";
        System.out.println(home.trim());
    }
}

  • A.No line here misuses an assertion.
  • B.assert home != null : "app.home not set";
  • C.String home = System.getProperty("app.home");
  • D.System.out.println(home.trim());

Answer: B

A system property is external configuration, not an internal invariant, so its absence is a real runtime condition the program must handle whether or not -ea was passed. Disabled, the check is skipped and the next line throws NullPointerException with no explanation of the cause.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.