ExceptionRoutedEventArgs.ErrorMessage Property


Gets the message component of the exception, as a string.

Equivalent WinUI property: Microsoft.UI.Xaml.ExceptionRoutedEventArgs.ErrorMessage.

 property Platform::String ^ ErrorMessage { Platform::String ^ get(); };
winrt::hstring ErrorMessage();
public string ErrorMessage { get; }
var string = exceptionRoutedEventArgs.errorMessage;
Public ReadOnly Property ErrorMessage As String

Property Value


The message component of the exception.


This example shows use of ExceptionRoutedEventArgs in a handler in order to get the HResult and error message. This is code that might support debugging and testing during development but wouldn't be found as-is in production code. Production code might take this example further though. For example, once you've isolated the HResult from the ErrorMessage, your app code could branch on the HResult values and provide notification to users of what went wrong and possible actions to take to correct the problem.

private void videoMediaElement_MediaFailed(object sender, ExceptionRoutedEventArgs e)
    // get HRESULT from event args 
    string hr = GetHresultFromErrorMessage(e);

    // Handle media failed event appropriately 

private string GetHresultFromErrorMessage(ExceptionRoutedEventArgs e)
    String hr = String.Empty;
    String token = "HRESULT - ";
    const int hrLength = 10;     // eg "0xFFFFFFFF"

    int tokenPos = e.ErrorMessage.IndexOf(token, StringComparison.Ordinal);
    if (tokenPos != -1)
        hr = e.ErrorMessage.Substring(tokenPos + token.Length, hrLength);

    return hr;


Don't display ErrorMessage strings to end users. Instead, use substrings and codes within the string to positively identify the error condition, and have your app take appropriate action or display user-appropriate information in the app UI.

Applies to

See also