我试图在.net(c#)中添加一个未处理的异常处理程序,该处理程序对于'user'应该尽可能有用.最终用户大多是程序员,所以他们只需要暗示他们操纵错误的对象.
当应用程序崩溃时,我正在开发类似于Windows XP错误报告的窗口,但是尽可能多地提供关于抛出的异常的中间信息.
虽然堆栈跟踪使我(因为我有源代码)能够查明问题的根源,但是用户没有它,因此它们在没有进一步信息的情况下丢失.不用说我必须花很多时间来支持这个工具.
有一些系统异常,如Dictionary集合抛出的KeyNotFoundException,它真的让我感到烦恼,因为它们没有在消息中包含未找到的密钥.我可以使用大量的try catch块来填充我的代码,但它相当激进并且需要维护更多的代码,更不用说更多的字符串必须最终被本地化.
最后一个问题:有没有办法获得(在运行时)调用堆栈跟踪中每个函数的参数值?仅这一点就可以解决90%的支持电话.