Exception type.
Error code exception, with optional string.
Provider exception, based on an Interface definition and a parameter list.