Files

72 lines
2.2 KiB
C#
Raw Permalink Normal View History

2026-04-26 04:09:35 +08:00
using System.Diagnostics.CodeAnalysis;
using SimApi.Exceptions;
2026-04-26 10:03:38 +08:00
namespace SimApi.Helpers;
2026-04-26 04:09:35 +08:00
2026-04-26 10:03:38 +08:00
public static class SimApiError
2026-04-26 04:09:35 +08:00
{
/// <summary>
/// 错误返回
/// </summary>
/// <param name="code">错误代码</param>
/// <param name="message">错误描述(若是常规错误,代码可自动带取描述)</param>
/// <returns></returns>
2026-04-26 18:43:34 +08:00
[DoesNotReturn]
2026-04-26 04:09:35 +08:00
public static void Error(int code = 500, string message = "")
{
throw new SimApiException(code, message);
}
/// <summary>
/// 检测条件,根据条件返回报错 如果condition是ture报错
/// </summary>
/// <param name="condition">检测条件</param>
/// <param name="code">错误代码</param>
/// <param name="message">错误描述</param>
public static void ErrorWhen([DoesNotReturnIf(true)] bool condition, int code = 400,
string message = "")
{
if (condition)
{
Error(code, message);
}
}
/// <summary>
/// 检测条件,根据条件返回报错 如果condition是ture报错
/// </summary>
/// <param name="condition">检测条件</param>
/// <param name="code">错误代码</param>
/// <param name="message">错误描述</param>
public static void ErrorWhenTrue([DoesNotReturnIf(true)] bool condition, int code = 400,
string message = "")
{
ErrorWhen(condition, code, message);
}
/// <summary>
/// 如果condition是false 报错
/// </summary>
/// <param name="condition"></param>
/// <param name="code"></param>
/// <param name="message"></param>
public static void ErrorWhenFalse([DoesNotReturnIf(false)] bool condition, int code = 400,
string message = "")
{
ErrorWhen(!condition, code, message);
}
/// <summary>
/// 检测给定的变量是否为NUll
/// </summary>
/// <param name="condition">检测条件</param>
/// <param name="code">错误代码</param>
/// <param name="message">错误描述</param>
public static void ErrorWhenNull([NotNull] object? condition, int code = 404,
2026-05-20 09:38:40 +08:00
string message = "")
2026-04-26 04:09:35 +08:00
{
ErrorWhen(condition == null, code, message);
}
}