处理.NET Marshal类中可能的错误的最佳实践

时间:2013-01-12 10:08:02

标签: .net marshalling

在如下调用中处理错误的最佳方法是什么:

string myString = Marshal.PtrToStringUni(wParam);
Int32 myInt = Marshal.ReadInt32(lParam);

[编辑]

根据Hans Passant的回答,我想分享MS description

的链接

非常感谢!

1 个答案:

答案 0 :(得分:2)

这里最好的方法是获得例外的最佳方式,不做任何事情。 Windows向您发送了错误消息,您不知道为什么。如果您不知道是什么原因造成的,以及后果可能是什么,您就无法处理异常。吞咽它只会导致程序错误地运行,而不会向用户提示任何原因。没有办法测试这种情况。

不要抓住它,让它终止你的申请。

专注于为AppDomain.CurrentDomain.UnhandledException编写一个好的事件处理程序。