❤️ 关注 Furion 微信公众号有惊喜哦!
Skip to main content

4. Oops 静态类

4.1 抛出字符串异常

throw Oops.Oh("异常消息");
throw Oops.Oh("异常消息:{0}", "出错了");

4.2 指定类型的异常

throw Oops.Oh("异常消息", typeof(ArgumentNullException));
throw Oops.Oh("异常消息:{0}", typeof(ArgumentNullException), "出错了");

4.3 状态码异常

throw Oops.Oh(1000);
throw Oops.Oh(1000, "出错了");

4.4 状态码异常

throw Oops.Oh(1000, typeof(ArgumentNullException));
throw Oops.Oh(1000, typeof(ArgumentNullException), "出错了");

4.5 异常方法重试

调整说明

v2.17.0+ 版本下面方法请使用 Retry.Invoke()/Retry.InvokeAsync() 替代。

Oops.Retry(() => {
// Do.....
}, 3, 1000);

// 带返回值
var value = Oops.Retry<int>(() => {
// Do.....
}, 3, 1000);

// 只有特定异常才监听
Oops.Retry(() => {

}, 3, 1000, typeof(ArgumentNullException));

4.6 抛出业务异常

throw Oops.Bah("用户名或密码错误");
throw Oops.Bah(1000);

4.7 设置响应状态码

throw Oops.Oh("错误了").StatusCode(502);

4.8 携带额外数据

throw Oops.Oh("错误了").WithData(new Model {});