using System;
namespace MainShell.Common
{
///
/// 用于流程内部以 MessageKey 形式表达受控失败,并保留格式化参数。
///
public class LocalizedProcessException : Exception
{
public MessageKey FailureMessageKey { get; }
public string[] FailureMessageArguments { get; }
public LocalizedProcessException(MessageKey failureMessageKey, params string[] failureMessageArguments)
: base(LanguageResourceHelper.Format(failureMessageKey, ConvertArguments(failureMessageArguments)))
{
FailureMessageKey = failureMessageKey;
FailureMessageArguments = failureMessageArguments ?? Array.Empty();
}
public static object[] ConvertArguments(string[] failureMessageArguments)
{
if (failureMessageArguments == null || failureMessageArguments.Length == 0)
{
return Array.Empty