matlab.net.http. Класс HTTPException

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

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

Описание

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

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

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

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

  • Сервер получает сообщение и отправляет ответ, но ответ не может быть преобразован на основе его Типа контента. Например, плохая строка JSON получена.

Если ошибка происходит, прежде чем метод RequestMessage.send пытается отправить сообщение, то это выдает стандартный MException вместо этого.

HTTPException описывает ошибку в свойстве MException.cause и возвращает историю транзакции. Свойство History содержит сообщение, которое было отправлено и сообщение, которое было получено, если таковые имеются.

Свойства

развернуть все

Запросите сообщение, столь же завершенное, заданное, как matlab.net.http.RequestMessage object. Request содержит последнее сообщение, которое было отправлено или будет отправлено. Если этот заголовок сообщения был успешно отправлен, то он совпадает с последней записью в свойстве History.Request. В противном случае последняя запись в свойстве History не содержит сообщение, которое вы попытались отправить.

Атрибуты:

GetAccess

общественность

SetAccess

частный

URI для последнего сообщения, которое было отправлено или будет отправлено, задано как matlab.net.URI object.

Атрибуты:

GetAccess

общественность

SetAccess

частный

История транзакции, заданной как вектор matlab.net.http.LogRecord objects. History только, содержит сообщения, заголовки которых были успешно отправлены или получены. Если исключение происходит при отправке или получении заголовка сообщения, то History не содержит то сообщение. Если ошибка происходит при отправке или получении полезной нагрузки, или во время преобразования данных к или от полезной нагрузки, то свойство MessageBody Payload и/или свойства Data не могут быть установлены.

Атрибуты:

GetAccess

общественность

SetAccess

частный

Примеры

свернуть все

Отправьте сообщение в веб-сайт в переменной 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 = resonse.Body.Payload
        end
    end
end

Переменная payload содержит байты, которые были получены как вектор uint8. Поскольку Тип контента не символьно-ориентирован, переменная data пуста.

Введенный в R2017b

Была ли эта тема полезной?