using System.Diagnostics.CodeAnalysis;
using SimApi.Exceptions;
namespace SimApi.Helpers;
public static class SimApiError
{
///
/// 错误返回
///
/// 错误代码
/// 错误描述(若是常规错误,代码可自动带取描述)
///
[DoesNotReturn]
public static void Error(int code = 500, string message = "")
{
throw new SimApiException(code, message);
}
///
/// 检测条件,根据条件返回报错 如果condition是ture报错
///
/// 检测条件
/// 错误代码
/// 错误描述
public static void ErrorWhen([DoesNotReturnIf(true)] bool condition, int code = 400,
string message = "")
{
if (condition)
{
Error(code, message);
}
}
///
/// 检测条件,根据条件返回报错 如果condition是ture报错
///
/// 检测条件
/// 错误代码
/// 错误描述
public static void ErrorWhenTrue([DoesNotReturnIf(true)] bool condition, int code = 400,
string message = "")
{
ErrorWhen(condition, code, message);
}
///
/// 如果condition是false 报错
///
///
///
///
public static void ErrorWhenFalse([DoesNotReturnIf(false)] bool condition, int code = 400,
string message = "")
{
ErrorWhen(!condition, code, message);
}
///
/// 检测给定的变量是否为NUll
///
/// 检测条件
/// 错误代码
/// 错误描述
public static void ErrorWhenNull([NotNull] object? condition, int code = 404,
string message = "")
{
ErrorWhen(condition == null, code, message);
}
}