次の方法で共有


ExceptionRoutedEventArgs.ErrorMessage プロパティ

定義

例外のメッセージ コンポーネントを文字列として取得します。

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

プロパティ値

String

Platform::String

winrt::hstring

例外のメッセージ コンポーネント。

この例では、HResult とエラー メッセージを取得するためにハンドラーで ExceptionRoutedEventArgs を使用する方法を示します。 これは、開発中のデバッグとテストをサポートする可能性がありますが、運用環境のコードではそのままでは見つからないコードです。 ただし、実稼働コードでは、この例をさらに取る場合があります。 たとえば、 ErrorMessage から HResult を分離すると、アプリ コードは HResult 値に分岐し、問題の原因と、問題を修正するために実行できるアクションをユーザーに通知することができます。

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;
}

注釈

エンド ユーザーに ErrorMessage 文字列を表示しないでください。 代わりに、文字列内で部分文字列とコードを使用してエラー状態を肯定的に識別し、アプリで適切なアクションを実行するか、アプリ UI にユーザーに適した情報を表示します。

適用対象

こちらもご覧ください