Get model errors
Get model errors
Errors for a model can be obtained from the Errors
property of the IModel
object. You can also use the HasError
property of the IModel
object to check whether there are errors, and the HasErrorWithChildren
property of the IModel
object to check whether there are errors including child elements.
public void GetErrors(ICommandContext c, ICommandParams p)
{
IModel model = c.App.Workspace.CurrentModel;
//If there is an error
if ( model.HasError )
{
//Output the error message
foreach ( IError error in model.Errors )
{
c.App.Output.WriteLine("sample", $"Error: {error.Message}");
}
}
}
Get all errors
To get all current errors, use the Errors
property of the IApplication
object.
public void ListErrors(ICommandContext c, ICommandParams p)
{
IErrors errors = c.App.Errors;
//Access all errors
foreach ( var error in errors.AllErrors)
{
c.App.Output.WriteLine("sample", $"Error: {error.Message}");
}
}
Get a specific type of error
To get a specific type of error, use the various properties of the IErrors
object. The available properties are as follows. All types are collections of errors (IErrorCollection
).
AllErrors
: Gets all error information.Errors
: Gets error information with the error type "Error".Warnings
: Gets error information with the error type "Warning".Informations
: Gets error information with the error type "Information".Summaries
: Gets error information with the error type "Summary".
public void ListErrors(ICommandContext c, ICommandParams p)
{
IErrors errors = c.App.Errors;
//Gets all information including warnings
var allErrors = errors.AllErrors;
//Gets only information with type error
var onlyErrors = errors.Errors;
//Gets only information with type warning
var onlyWarnings = errors.Warnings;
}