WebErrorStatus 列挙型

定義

認証、プロキシ構成、宛先 URI など、Web サービスに関連する操作中に発生するエラーを定義します。

public enum class WebErrorStatus
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
enum class WebErrorStatus
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public enum WebErrorStatus
var value = Windows.Web.WebErrorStatus.unknown
Public Enum WebErrorStatus
継承
WebErrorStatus
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

フィールド

BadGateway 502

サーバーがゲートウェイまたはプロキシとして機能していて、アップストリーム サーバーから無効な応答を受信しました。

BadRequest 400

構文が正しくないため、要求を満たすことはできません。

CannotConnect 14

宛先に接続できません。

CertificateCommonNameIsIncorrect 1

SSL 証明書の共通名が Web アドレスと一致しません。

CertificateContainsErrors 3

SSL 証明書にエラーが含まれています。

CertificateExpired 2

SSL 証明書の有効期限が切れています。

CertificateIsInvalid 5

SSL 証明書が無効です。

CertificateRevoked 4

SSL 証明書が取り消されました。

Conflict 409

要求の競合が原因で要求を処理できなかったことを示します。

ConnectionAborted 9

接続が中止されました。

ConnectionReset 10

接続がリセットされました。

Disconnected 11

接続が終了しました。

ErrorHttpInvalidServerResponse 8

サーバーから無効な応答または認識されない応答が返されました。

ExpectationFailed 417

サーバーは、Expect request-header フィールドの要件を満たすことはできません。

Forbidden 403

サーバーが要求を拒否しました。

Found 302

リソースが見つかりましたが、要求に含まれている場所とは異なる場所で使用できます。

GatewayTimeout 504

サーバーがゲートウェイまたはプロキシとして機能していて、アップストリーム サーバーからタイムリーな応答を受信しませんでした。

Gone 410

要求されたリソースが使用できなくなり、再び使用できないことを示します。

HostNameNotResolved 15

指定されたホスト名を解決できませんでした。

HttpsToHttpOnRedirection 13

セキュリティで保護された場所から安全でない場所にリダイレクトされます。

HttpToHttpsOnRedirection 12

場所から安全な場所にリダイレクトされます。

HttpVersionNotSupported 505

サーバーは、要求で使用される HTTP プロトコル バージョンをサポートしていません。

InsufficientRangeSupport 22

要求は範囲をサポートしていません。

InternalServerError 500

より具体的なメッセージが適していない場合に指定された汎用エラー メッセージ。

LengthRequired 411

要求では、要求されたリソースに必要なコンテンツの長さが指定されませんでした。

MethodNotAllowed 405

要求は、そのリソースでサポートされていない要求メソッドを使用してリソースで行われました。

MissingContentLengthSupport 23

要求がファイル サイズを誤って処理しています。

MovedPermanently 301

この要求と今後のすべての要求は、指定された URI に送信する必要があります。

MultipleChoices 300

要求された URL は、下位レベルの選択を行う必要がある大まかなグループ化を表します。

NotAcceptable 406

要求されたリソースは、要求で送信された Accept ヘッダーに従って受け入れられないコンテンツを生成することしかできません。

NotFound 404

要求されたリソースが見つかりませんでしたが、将来再び使用可能になる可能性があります。

NotImplemented 501

サーバーが要求メソッドを認識しないか、要求を満たす機能がありません。

NotModified 304

最後に要求されてからリソースが変更されていないことを示します。

OperationCanceled 16

操作は取り消されました。

PaymentRequired 402

予約済み。

PreconditionFailed 412

サーバーは、要求元が要求に対して設定した前提条件の 1 つを満たしていません。

ProxyAuthenticationRequired 407

クライアントは、最初にプロキシを使用して自身を認証する必要があります。

RedirectFailed 17

要求のリダイレクトに失敗しました。

RequestedRangeNotSatisfiable 416

クライアントはファイルの一部を要求しましたが、サーバーはその部分を指定できません。

RequestEntityTooLarge 413

要求が、サーバーが処理する意思がある、または処理できるよりも大きい。

RequestTimeout 408

要求を待機中にサーバーがタイムアウトしました。

RequestUriTooLong 414

指定された URI の長さが、サーバーが処理できる最大長を超えています。

SeeOther 303

要求に対する応答は、GET メソッドを使用して別の URI の下にあります。

ServerUnreachable 6

サーバーが応答していません。

ServiceUnavailable 503

サーバーは現在使用できません。

TemporaryRedirect 307

要求されたリソースは、別の URI の下に一時的に存在します。

Timeout 7

接続がタイムアウトしました。

Unauthorized 401

認証に失敗したか、資格情報がまだ指定されていません。

UnexpectedClientError 20

予期しないクライアント側エラーが発生しました。

UnexpectedRedirection 19

要求が予期せずリダイレクトされました。

UnexpectedServerError 21

予期しないサーバー側エラーが発生しました。

UnexpectedStatusCode 18

エラーが受信されたことを示す予期しない状態コード。

Unknown 0

不明なエラーが発生しました。

UnsupportedMediaType 415

要求エンティティには、サーバーまたはリソースがサポートしていないメディアの種類があります。

UseProxy 305

要求されたリソースには、Location フィールドによって指定されたプロキシを介してアクセスする必要があります。

注釈

WebErrorStatus 値は、 Windows.Web.WebError.GetStatusWindows.Networking.WebSocketError.GetStatusおよび Windows.Networking.BackgroundTransfer.GetStatus によって返されます。

この例では、WebErrorStatus を使用して、エラーの種類に応じて異なるエラー メッセージを表示する方法を示します。 この例では、WebErrorStatus 値は Windows.Networking.WebSocketError.GetStatus によって返されます。

using Windows.Web;
using Windows.Networking.Sockets;

// Pointer back to the main page. Needed to call methods in MainPage such as NotifyUser()
MainPage rootPage = MainPage.Current;

WebErrorStatus status = WebSocketError.GetStatus(ex.GetBaseException().HResult);

if (status == WebErrorStatus.CannotConnect ||
    status == WebErrorStatus.NotFound || 
    status == WebErrorStatus.RequestTimeout)
{
    rootPage.NotifyUser("Cannot connect to the server", NotifyType.ErrorMessage);
}
else
{
    rootPage.NotifyUser("Error: " + status, NotifyType.ErrorMessage);
}
// Pointer back to the main page. Needed to call methods in MainPage such as NotifyUser().
m_rootPage = MainPage::Current();

Windows::Web::WebErrorStatus status{ Windows::Networking::Sockets::WebSocketError::GetStatus(exception.to_abi()) };

if (status == Windows::Web::WebErrorStatus::CannotConnect ||
    status == Windows::Web::WebErrorStatus::NotFound ||
    status == Windows::Web::WebErrorStatus::RequestTimeout)
{
    m_rootPage.NotifyUser(L"Cannot connect to the server", NotifyType::ErrorMessage);
}
else
{
    m_rootPage.NotifyUser(std::wstring(L"Error: ") + exception.message().c_str(), NotifyType::ErrorMessage);
}
using namespace Windows::Web;
using namespace Windows::Networking::Sockets;

// Pointer back to the main page. Needed to call methods in MainPage such as NotifyUser()
rootPage = MainPage::Current;

WebErrorStatus status = WebSocketError::GetStatus(exception->HResult);

if (status == WebErrorStatus::CannotConnect || 
    status == WebErrorStatus::NotFound || 
    status == WebErrorStatus::RequestTimeout)
{
    rootPage->NotifyUser("Cannot connect to the server", NotifyType::ErrorMessage);
}
else
{
    rootPage->NotifyUser("Error: " + status.ToString(), NotifyType::ErrorMessage);
}

バージョン履歴

Windows のバージョン SDK バージョン 追加された値
1709 16299 InsufficientRangeSupport
1709 16299 MissingContentLengthSupport

適用対象

こちらもご覧ください