C# 是否可以修改错误消息的“错误消息”;索引超出了数组“的边界”;?

C# 是否可以修改错误消息的“错误消息”;索引超出了数组“的边界”;?,c#,error-handling,C#,Error Handling,有时获取错误“索引超出了数组的范围”。我知道它是什么以及如何修复它 问题是: 是否可以修改错误消息(此类型错误的全局消息)以添加错误的索引号和数组长度-这将非常有用。如果您想全局捕获“索引超出数组边界”异常,您可以订阅未绑定的异常并在那里捕获它。以下是一个例子: AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; private static void CurrentDomain_Un

有时获取错误“索引超出了数组的范围”。我知道它是什么以及如何修复它

问题是:

是否可以修改错误消息(此类型错误的全局消息)以添加错误的索引号和数组长度-这将非常有用。

如果您想全局捕获“索引超出数组边界”异常,您可以订阅未绑定的异常并在那里捕获它。以下是一个例子:

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;


private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    if (e.ExceptionObject is IndexOutOfRangeException outOfRangeException)
    {
       // do something 
    }
}

你现在提到全球,我认为这是不可能的。这真的没什么帮助。如果您正在接受用户输入,您应该接受并验证用户的输入。如果它是您自己的代码,那么您应该知道数组的长度(理想情况下使用
arrayName.length
arrayName.Count()
)。如果异常,您应该在它抛出错误之前进行检查和验证。异常消息是针对开发人员而不是用户的。但是,您可以(如果您不介意销毁堆栈跟踪的话)重新抛出一个新异常
抛出新的MyAwesomeExceptionOfsomeType(“带有我的AwesomeMessage”)
不过,我会将此作为最后手段,再考虑一下设计。您能否澄清您的帖子如何回答“添加错误的索引号和数组长度”?