exponenta event banner

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 объект. 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 переменная пуста.

См. также

| | |

Представлен в R2016b