AL Error Handling
The AL language has many error handling features, which can help you deal with unexpected situations that occur when code is run. This section contains articles about using these methods in AL to handle errors that occur during code execution, while making sure that your application has a consistent user interface.
The following articles introduce error handling in AL:
- Handling Errors using Try Methods
- Collecting Errors
- Progress Windows, Message, Error, and Confirm Methods
Error handling methods in AL
For examples of using different error handling methods in AL, see the following table:
Method | Description |
---|---|
ClearLastError Method | Removes the last error message from memory. |
Dialog Data Type | Represents a dialog window. |
Error Method | Displays an error message and ends the execution of AL code. |
ErrorInfo Data Type | Contains a set of methods that helps identify errors, classify these errors, send errors to telemetry and display UI messages. Go to the data type article for an overview. |
System Data Type | Is a complex data type and contains multiple methods for getting and classifying errors. |
GetLastErrorCallStack Method | Gets the call stack from where the last error occurred. |
GetLastErrorCode Method | Gets the classification of the last error that occurred. |
GetLastErrorObject Method | Gets the last System.Exception object that occurred. |
GetLastErrorText Method | Gets the last error that occurred in the debugger. |
Tip
If you already know the name of a data type, use the Filter by title field in the upper left corner, above the table of contents to find the topic faster.
Error handling strategies
For examples of different error handling strategies, see the following table:
If you want to... | Then use |
---|---|
Run a code unit and decide to do something if an error occurs. | if not Codeunit.run() . For more information, see Codeunit.Run return value |
Check for an error and show an error dialog to the user. | Dialog.Error(Message: ErrorInfo) . For more information, see Error Method. |
Check for an error and show an error dialog to the user with added support information. | Using the ErrorInfo Data Type with the Error Method |
Do bulk validations in AL and not show an error dialog for each of them to the user. | Collecting Errors |
Catch errors raised by other AL methods | Handling Errors using Try Methods |
Catch errors/exceptions that are thrown during .NET framework interoperability operations (on-premises only). | Handling .NET Exceptions using Try Methods |
Log an error that happens within a database transaction (that rollback) | Either log the error in a new session using a background session, or use Session.LogMessage to log the error to telemetry. |
See also
Feedback
Submit and view feedback for