Prev |  | Next

## 13.9. Error Messages, Error Numbers

Error messages of PDFUnit provide detailed information to support bug fixing. And they are as clear and expressive as possible. A message for an incorrect page size demonstrates this intention:

    Wrong page format in 'multiple-formats-on-individual-pages.pdf' on page 1.
    Expected: 'height=297.00, width=210.00 (as 'mm')',
    but was:  'height=209.90, width=297.04 (as 'mm')'.

The position of an error is marked by the double brackets `<[` and `]>`. To keep error messages readable, long values are shortened. The number of dropped characters is indicated as a number in the text surrounded by '`...`', e.g.:

    The expected content does not match the JavaScript in 'javaScriptClock.pdf'.
    Expected: '//<[Thisfileco...41...dbyPDFUnit]>',
    but was:  '//<[Constantsu...4969...);break;}}]>'.

PDFUnit comes with error message in German and English language. Write you wish to info[at]pdfunit.com if you need error messages in another language.

### Error Numbers

Error messages come from the files `messages.properties` or `messages_LANGUAGE.properties`. Each message in these files has the format `key = value`. PDFUnit uses a classes as keys. So the term 'error number' should be replaced by the term 'error key'.

When the validation exception is caught at runtime, the method `getErrorKey()` can be used to return the key from the current error message:

    @Test
    public void testErrorKey_hasText() throws Exception {
      try {
        String filename = PATH + "content/empty-pages.pdf";
        AssertThat.document(filename)
                  .restrictedTo(EVERY_PAGE)
                  .hasText()
        ;
      } catch (PDFUnitValidationException e) {
        String expectedKey = "com.pdfunit.messages.TextAvailableMessage";
        String actualKey = e.getErrorKey();
        assertEquals(expectedKey, actualKey);
      }
    }

You can also pass the error key to a logging method.

Prev | Up | Next
13.8. Format Units - Points and Millimeters | Home | 13.10. Set Language for Error Messages