Main Content

matlab.net.http.HTTPException クラス

名前空間: matlab.net.http
スーパークラス: MException

HTTP サービスからスローされた例外

説明

HTTPException クラスにはエラーに関する情報が含まれています。

RequestMessage.send メソッドは、メッセージの送信試行 "後" にエラーが発生した場合に HTTP の例外をスローします。たとえば、メソッドは次の場合に例外をスローします。

  • 伝送中に何らかの失敗が発生し、サーバーがメッセージを受信しない。失敗の原因として、ネットワークの問題、タイムアウト、正しくない URI などが考えられます。

  • サーバーはメッセージを受信するが、応答の送信中に何かが失敗する。

  • サーバーはメッセージを受信して応答を送信するが、応答を Content-Type に基づいて変換できない。たとえば、正しくない JSON 文字列を受信した場合などです。

RequestMessage.send メソッドがメッセージを送信しようとする "前" にエラーが発生した場合は、代わりに標準の MException がスローされます。

HTTPException はエラーを MException.cause プロパティに記述してトランザクションの履歴を返します。送信されたメッセージと受信されたメッセージがある場合、History プロパティにはこれが含まれています。

プロパティ

すべて展開する

完了した要求メッセージ。matlab.net.http.RequestMessage オブジェクトとして指定します。Request には、送信された、または送信されるはずだった最後のメッセージが含まれています。このメッセージ ヘッダーが正常に送信された場合、History.Request プロパティの最後のエントリと同じになります。それ以外の場合、History プロパティの最後のエントリに、送信しようとしたメッセージは含まれません。

属性:

GetAccess
public
SetAccess
private

送信された、または送信されるはずだった最後のメッセージの URI。matlab.net.URI オブジェクトとして指定します。

属性:

GetAccess
public
SetAccess
private

トランザクションの履歴。matlab.net.http.LogRecord オブジェクトのベクトルとして指定します。History には、ヘッダーが正常に送受信されたメッセージのみが含まれています。メッセージ ヘッダーの送受信中に例外が発生した場合、History にそのメッセージは含まれません。ペイロードの送受信中またはデータとペイロード間の変換中にエラーが発生した場合、MessageBody Payload プロパティと Data プロパティの両方またはいずれかが設定されていない可能性があります。

属性:

GetAccess
public
SetAccess
private

すべて折りたたむ

変数 url 内の Web サイトにメッセージを送信します。この送信先は、Payload プロパティに Content-Type image/jpeg で無効な JPEG イメージが含まれているメッセージを返します。

try
    resp = RequestMessage().send(url);
catch e
    if isa(e,'matlab.net.http.HTTPException')
        response = e.History(end).Response;      
        if ~isempty(response)
            data = response.Body.Data;
            payload = response.Body.Payload
        end
    end
end

変数 payload には uint8 ベクトルとして受信されたバイトが含まれています。Content-Type は文字ベースではないため変数 data は空になります。

バージョン履歴

R2016b で導入