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

Discussion

Which line is an inappropriate use of an assertion?

public class Sample28
{
    public static void main(String[] args)
    {
        java.io.File f = new java.io.File("data.txt");
        assert f.exists() : "data.txt missing";
        System.out.println(f.length());
    }
}

  • A.java.io.File f = new java.io.File("data.txt");
  • B.System.out.println(f.length());
  • C.The code is correct as it stands.
  • D.assert f.exists() : "data.txt missing";

Answer: D

Whether a file is present is a condition of the environment, not an invariant the code controls, and it can change between the check and the use. Disabled, the assertion is skipped and length() silently returns 0 for a missing file. Absent input is handled with a real test and an exception.

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

Post your comment

Please log in or register to post a comment.