Che*_*eso 39 .net exception serializable
参考什么是使自定义.NET异常可序列化的正确方法?
并且所有.NET异常都可序列化吗?...
为什么我的例外可以序列化?
如果由第三方库定义的自定义异常不可序列化,有人说"它可以被视为一个bug".为什么?
为什么异常在这方面与其他类别不同?
Tal*_*joe 55
因为您的异常可能需要在不同的AppDomain之间进行编组,如果它们(可正确)可序列化,您将丢失宝贵的调试信息.与其他类不同,您无法控制是否会对您的异常进行编组 - 它会.
当我的意思是"你将无法控制"时,我的意思是你创造的类通常具有有限的存在空间,并且存在是众所周知的.如果它是一个返回值并且有人试图在不同的AppDomain(或在另一台机器上)调用它们,那么它们就会出错,并且只能说"不要那样使用它".调用者知道他们必须将它转换为可以序列化的类型(通过包装方法调用).但是,如果异常被冒泡到顶部,如果没有被捕获,它们可以超越你甚至不知道你拥有的AppDomain边界.您在不同AppDomain中深度20级的自定义应用程序异常可能是Main()中报告的异常,并且在此过程中没有任何内容可以将它转换为可序列化的异常.
| 归档时间: |
|
| 查看次数: |
4816 次 |
| 最近记录: |