@Beta @GwtCompatible public final class Verify extends Object
   Bill bill = remoteService.getLastUnpaidBill();
   // In case bug 12345 happens again we'd rather just die
   Verify.verify(bill.status() == Status.UNPAID,
       "Unexpected bill status: %s", bill.status());
 Note: In some cases the differences explained below can be subtle. When it's unclear which approach to use, don't worry too much about it; just pick something that seems reasonable and it will be fine.
Preconditions
     class instead.
 if/throw (as illustrated below) is always acceptable; we still recommend
     using our VerifyException exception type. Throwing a plain RuntimeException
     is frowned upon.
 Objects.requireNonNull(Object) is generally discouraged, since
     verifyNotNull(Object) and Preconditions.checkNotNull(Object) perform the
     same function with more clarity.
 Remember that parameter values for message construction must all be computed eagerly, and autoboxing and varargs array creation may happen as well, even when the verification succeeds and the message ends up unneeded. Performance-sensitive verification checks should continue to use usual form:
   Bill bill = remoteService.getLastUnpaidBill();
   if (bill.status() != Status.UNPAID) {
     throw new VerifyException("Unexpected bill status: " + bill.status());
   }
 %s is supportedAs with Preconditions error message template strings, only the "%s" specifier
 is supported, not the full range of Formatter specifiers. However, note that
 if the number of arguments does not match the number of occurrences of "%s" in the
 format string, Verify will still behave as expected, and will still include all argument
 values in the error message; the message will simply not be formatted exactly as intended.
 
| Modifier and Type | Method and Description | 
|---|---|
| static void | verify(boolean expression)Ensures that  expressionistrue, throwing aVerifyExceptionwith no
 message otherwise. | 
| static void | verify(boolean expression,
            String errorMessageTemplate,
            Object... errorMessageArgs)Ensures that  expressionistrue, throwing aVerifyExceptionwith a
 custom message otherwise. | 
| static <T> T | verifyNotNull(T reference)Ensures that  referenceis non-null, throwing aVerifyExceptionwith a default
 message otherwise. | 
| static <T> T | verifyNotNull(T reference,
                          String errorMessageTemplate,
                          Object... errorMessageArgs)Ensures that  referenceis non-null, throwing aVerifyExceptionwith a custom
 message otherwise. | 
public static void verify(boolean expression)
expression is true, throwing a VerifyException with no
 message otherwise.VerifyException - if expression is falsepublic static void verify(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs)
expression is true, throwing a VerifyException with a
 custom message otherwise.expression - a boolean expressionerrorMessageTemplate - a template for the exception message should the
     check fail. The message is formed by replacing each %s
     placeholder in the template with an argument. These are matched by
     position - the first %s gets errorMessageArgs[0], etc.
     Unmatched arguments will be appended to the formatted message in square
     braces. Unmatched placeholders will be left as-is.errorMessageArgs - the arguments to be substituted into the message
     template. Arguments are converted to strings using
     String.valueOf(Object).VerifyException - if expression is falsepublic static <T> T verifyNotNull(@Nullable T reference)
reference is non-null, throwing a VerifyException with a default
 message otherwise.reference, guaranteed to be non-null, for convenienceVerifyException - if reference is nullpublic static <T> T verifyNotNull(@Nullable T reference, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs)
reference is non-null, throwing a VerifyException with a custom
 message otherwise.errorMessageTemplate - a template for the exception message should the
     check fail. The message is formed by replacing each %s
     placeholder in the template with an argument. These are matched by
     position - the first %s gets errorMessageArgs[0], etc.
     Unmatched arguments will be appended to the formatted message in square
     braces. Unmatched placeholders will be left as-is.errorMessageArgs - the arguments to be substituted into the message
     template. Arguments are converted to strings using
     String.valueOf(Object).reference, guaranteed to be non-null, for convenienceVerifyException - if reference is nullCopyright © 2010-2015. All Rights Reserved.