Forms the basis of all Omero exception hierarchies.

It is intended that no exceptions not subclassing RootException will escape the server. A last ditch effort will be made to wrap any unknown exception in an InternalException.

Due to networking issues, this will not always be possible, and the client should deal with all non-Omero exceptions as OutOfService exceptions.

## Related Documentation

For a discussion of these exceptions, please see:

- wiki:ExceptionHandling

@see ome.conditions.RootException