Skip to main content

4. Oops 静态类

📝 模块更新日志
  • 新特性
    •   Oops.Text(errorCode) 静态方法,可根据错误码获取错误消息 4.9.1.18 ⏱️2024.01.08 f25125c

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 {});

4.9 获取错误码消息

版本说明

以下内容仅限 Furion 4.9.1.18 + 版本使用。

var errorMessage = Oops.Text(1000); // => [1000] 错误消息

// 设置第二个参数 hideErrorCode: true 可以隐藏错误码
var errorMessage = Oops.Text(1000, true); // => 错误消息