PerformImmediateLogin是否抛出自定义异常?其异常类型是什么?
答复
PerformImmediateLogin 方法会抛出自定义异常,相关自定义异常都是对应客户端库内置定义的,全部继承自System.Exception,你当前代码里写的全量Exception捕获逻辑可以覆盖到这些异常,具体的自定义异常类型有两类:
VaultApiException:是接口实际调用阶段抛出的最常见自定义异常。只要认证请求发出去后出现问题,包括凭据无效、认证信息不匹配、服务端返回非200类状态码、返回报文格式不符合预期、权限不足等场景,都会抛出这个异常,异常里会带HTTP状态码、服务端返回的错误明细、请求ID等排查用的上下文信息。VaultClientSettingsValidationException:是请求发出去之前本地校验阶段抛的自定义异常。如果你初始化传入的VaultClientSettings配置不合法,比如Vault服务地址格式写错、选的认证方式缺必填参数、配置值不符合格式要求,就会在发起HTTP请求前直接抛出这个异常。
如果你需要做精细化的异常分流处理,可以在catch块里优先捕获以上两个自定义异常走对应处理逻辑,最后再兜底捕获通用Exception覆盖网络中断、IO错误这类系统级异常,参考写法:
IVaultClient vaultClient = new VaultClient(vaultClientSettings); try { vaultClient.V1.Auth.PerformImmediateLogin(); } catch (VaultClientSettingsValidationException e) { // 本地配置错误场景处理,移交自定义处理器 } catch (VaultApiException e) { // 接口调用返回错误场景处理,移交自定义处理器 } catch (Exception e) { // 其余系统异常兜底处理,移交自定义处理器 }
内容的提问来源于stack exchange,提问作者MB34
相关产品推荐
相关产品推荐

