In Microsoft Dynamics there are many different types of exception types. A majority of exception types are determined by the kernel and are not normally thrown by application code. All exception types can be caught and handled and it is the developers responsibility to decide which exceptions need to be handled. In Dynamics exceptions cannot be modified as it is a system enums. So users cannot add new exception types.
Info: Displays informational exceptions; for example, a certain record has been updated.
Warning: Indicates the user has performed an illegal, though nonfatal operation.
Deadlock: Informs the user that the system encountered a deadlock situation in the database (two processes trying to access the same record).
Error: Indicates a fatal error has occurred and the transaction has stopped.
Internal: Displays Microsoft Dynamics 365 for Operations and Finance internal development errors.
Break: Indicates that the user has pressed Break.
DDError: Indicates that an error occurred in the DDEkernel class.
Numeric: Indicates that an error has occurred during the use of the str2int, str2int64, or str2num functions.
CLRError: Indicates that an error has occurred during the use of the CLR functionality. This is the error you will most often check for with integrations.
CodeAccessSecurity: Indicates that an error has occurred during the use of CodeAccessPermission.demand.
UpdateConflict: Indicates that an error has occurred in a transaction using Optimistic Concurrency Control, and that the transaction will be retried.
UpdateConflictNotRecovered: Indicates that an error has occurred in a transaction using Optimistic Concurrency Control, and that the code will not be retried.