Main Content

matlab.net.http.HTTPException 클래스

네임스페이스: matlab.net.http
슈퍼클래스: MException

HTTP 서비스에서 발생되는 예외

설명

HTTPException 클래스에는 오류에 대한 정보가 들어 있습니다.

RequestMessage.send 메서드는 메시지를 전송하려고 시도한 이후에 오류가 발생하는 경우 HTTP 예외를 발생시킵니다. 예를 들어, 이 메서드는 다음과 같은 경우 예외를 발생시킵니다.

  • 전송 중에 오류가 발생하여 서버가 메시지를 받지 못하는 경우. 가능한 오류 원인으로는 네트워크 문제, 제한 시간 초과, 잘못된 URI 등이 있습니다.

  • 서버가 메시지를 받지만, 응답을 보내는 중 오류가 발생한 경우.

  • 서버가 메시지를 받고 응답을 보내지만, 응답을 해당 Content-Type에 따라 변환할 수 없는 경우. 예를 들어, 잘못된 JSON 문자열이 수신되는 경우가 있습니다.

RequestMessage.send 메서드가 메시지를 보내려고 시도하기 전에 오류가 발생하면 표준 MException이 대신 발생됩니다.

HTTPExceptionMException.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에는 해당 메시지가 포함되지 않습니다. 페이로드를 전송 또는 수신할 때나 페이로드 간에 데이터를 변환하는 동안 오류가 발생하면 MessageBodyPayload 속성 및/또는 Data 속성이 설정되지 않은 것일 수 있습니다.

특성:

GetAccess
public
SetAccess
private

예제

모두 축소

url 변수에 포함된 웹사이트로 메시지를 전송합니다. 이 대상은 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에 개발됨