Discussion
The program is run with java -ea Snippet16 - what will be the output?
public class Snippet16
{
private static int shrink(int n)
{
assert n > 0;
return n - 1;
}
public static void main(String[] args)
{
try
{
shrink(0);
}
catch (AssertionError e)
{
System.out.println("message: " + e.getMessage());
}
}
}
Answer: D
The one-expression form of assert calls the no-argument AssertionError constructor, which leaves the detail message unset, so getMessage() returns null. Concatenating null into a string produces the four characters null, giving message: null rather than a trailing space. This is why the two-expression form is worth using.
No comment is present. Be the first to comment.
Loading…
Post your comment
Please log in or register to post a comment.
Examination Categories
- SSC Exams
- Banking Exams
- Teaching Exams
- Civil Services Exams
- Railways Exams
- Engineering Recruitment Exams
- Defence Exams
- State Government Exams
- Police Exams
- Insurance Exams
- Nursing Exams
- Other Government Exams
- NRA CET
- PG Entrance Exams
- Campus Placement
- MBA Entrance Exams
- CUET and UG Entrance
- Judiciary Exams
- Regulatory Body Exams
- Software Development