Introduction

Overview

This project provides libraries to make exception handling in applications easier.

You may have encountered the following requirements in your exception handling. This project provides a ready-to-use implementation for them.

Your Requirement Implemented by ...
We require to track an exception in log files on different systems. A unique identifier should be provided by the logged exception to trace the event through several log files. Unique Exception Identifier
We require a certain structure in our exception codes and want to have a report generated for them by our build system so that developers find documentation for the error codes more easily. Exception Code
maven-exceptioncodes-plugin
Screenshot of example report
We require that every exception contains the time it has been created (ok, that is pretty easy). Time
We require our exceptions to be I18N capable to be localized for different locales. Internationalization

Key Benefits

Summarizing, this project addresses the following services commonly required for application, be them standalone or distributed multi-tier enterprise applications:

  1. Unique Exception Identifier
  2. Exception Code
  3. Report generation for exceptions codes
  4. Raise time of the exception
  5. Internationalization

And visually:

Topic Screenshot
Stack Trace
Exception Codes Report
Workspace

Subprojects for User

The services (core and i18n) are implemented by different sub projects so that only those services that are relevant are deployed. So, for instance, if you do not need internationalization you simply do not deploy that module.

I18N

The i18n module is optional and provides internationalization support.

  1. Internationalization
  2. Annotations for mapping exception properties to message variables.

Reporting for User

The following projects provide integration of the report generator into Maven and Ant as well as a simple command line client.

Maven-Report-Plugin

The maven report plugin generates a Maven report on the exception codes.

Ant Task

The ant task generates a report on the exception codes via Ant.

CLI

The command line client generates a report on the exception codes via the command line.