处理.NET封送处理类中可能出现的错误的最佳实践

处理.NET封送处理类中可能出现的错误的最佳实践,.net,marshalling,.net,Marshalling,处理呼叫错误的最佳方法是什么,如: string myString = Marshal.PtrToStringUni(wParam); Int32 myInt = Marshal.ReadInt32(lParam); ? [编辑] 基于Hans Passant的回答,我想分享到 非常感谢 这里最好的方法就是在遇到异常时,什么都不要做。Windows向您发送了一条错误消息,您不知道原因。如果您不知道异常的原因和可能的后果,则无法处理异常。吞咽它只会导致程序运行不正确,而不会向用户提示原因。无法测

处理呼叫错误的最佳方法是什么,如:

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

[编辑]

基于Hans Passant的回答,我想分享到


非常感谢

这里最好的方法就是在遇到异常时,什么都不要做。Windows向您发送了一条错误消息,您不知道原因。如果您不知道异常的原因和可能的后果,则无法处理异常。吞咽它只会导致程序运行不正确,而不会向用户提示原因。无法测试此场景

不要捕获它,让它终止您的应用程序


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

最好的方法是什么?主动避开它们!;)。。。如果可能的话我会怎么做!你说的是什么类型的错误?使用基于异常类的.net标准异常无法获得的错误。我从MSDN中看到的AppDomain.CurrentDomain.UnhandledException作用于整个应用程序。当我认为它必须在应用程序本身中实现,而不是在封送处理操作所在的DLL中实现时,我说得对吗?