diff --git a/Apewer/UnauthorizedException.cs b/Apewer/UnauthorizedException.cs new file mode 100644 index 0000000..6931754 --- /dev/null +++ b/Apewer/UnauthorizedException.cs @@ -0,0 +1,46 @@ +using System; + +namespace Apewer +{ + + /// 表示未授权的错误。 + /// 默认消息:Operation is not authorized. + public class UnauthorizedException : Exception + { + + static string _default = FixMessage(null); + + static string FixMessage(string message) + { + const string Preset = "Operation is not authorized."; + if (message != null) + { + message = message.Trim(); + if (!string.IsNullOrEmpty(message)) return message; + } + + return Preset; + } + + /// 获取或设置默认消息。 + public static string DefaultMessage { get => _default; set => _default = FixMessage(value); } + + /// 状态。 + /// Unauthorized + public virtual string Status { get => "Unauthorized"; } + + /// 表示未授权的错误,此时应在前端发起授权。 + /// 默认消息:Operation is not authorized. + public UnauthorizedException() : base(DefaultMessage) { } + + /// 表示未授权的错误,此时应在前端发起授权。 + /// 默认消息:Operation is not authorized. + public UnauthorizedException(string message) : base(FixMessage(message)) { } + + /// 表示未授权的错误,此时应在前端发起授权。 + /// 默认消息:Operation is not authorized. + public UnauthorizedException(string message, Exception innerException) : base(FixMessage(message), innerException) { } + + } + +}