matlab.net.http.HTTPException class

Пакет: matlab.net.http
Суперклассы: MException

Исключение выдается сервисами HTTP

Описание

HTTPException класс содержит информацию об ошибках.

RequestMessage.send метод выдает исключение HTTP, когда ошибка происходит после того, как это пытается отправить сообщение. Например, метод выдает исключение когда:

  • Что-то перестало работать во время передачи, и сервер не получает сообщение. Возможные причины отказа включают сетевую проблему, тайм-аут или плохой URI.

  • Сервер получает сообщение, но что-то перестало работать, в то время как это отправляет ответ.

  • Сервер получает сообщение и отправляет ответ, но ответ не может быть преобразован на основе его Типа контента. Например, плохая строка 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 переменная. Это место назначения возвращает сообщение чей Payload свойство содержит недопустимое изображение JPEG для Типа контента image/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 вектор. Поскольку Тип контента не символьно-ориентирован, data переменная пуста.

Смотрите также

| | |

Введенный в R2017b