Table of Contents

Class CurlHttpException

Namespace
CurlUnity.Http

SendAsync(IHttpRequest, CancellationToken)网络/协议层面失败时抛出的异常。

public sealed class CurlHttpException : Exception, ISerializable
Inheritance
CurlHttpException
Implements
Inherited Members

Remarks

本异常的适用范围:仅用于"libcurl 报告了错误"的场景 —— 连接/TLS/超时/协议错、 或 curl_multi_* 路径的返回码非 0。使用者应按 ErrorKind 做分支,不要 基于 CurlCode 的具体数值,后者只用于日志和排查。

不经过本异常的失败路径(故意区分开,不要混处理):

HTTP 4xx/5xx 不算失败。只要拿到了响应,SendAsync 就正常返回 IHttpResponse;业务侧靠 StatusCode 判断。

Properties

CurlCode

libcurl 返回的原始数值,给日志/issue 排查用。多数场景下是 easy 层的 CURLcode, 但 SetupFailed 里发生在 curl_multi_* 路径时为 CURLMcode。两者数值空间不同(如数值 2 在 easy 层是 CURLE_FAILED_INIT, 在 multi 层是 CURLM_OUT_OF_MEMORY),区分靠 ErrorKind

ErrorKind

语义化分类,做 switch/if 就读这个字段。