Thrown when a definition error occurs.
Definition errors are developer errors. They may be detected by tooling at development time, and are also detected by the container at initialization time. If a definition error exists in a deployment, initialization will be aborted by the container.
The container is permitted to define a non-portable mode, for use at development time, in which some definition errors do not cause application initialization to abort.
An implementation is permitted to throw a subclass of
for any definition error which exists.