![]() |
1
1
首先, do not inherit from ApplicationException . 这个建议已经存在一段时间了,我相信fxcop会自动生成一条关于这个的消息。
接下来,通常应该用
|
![]() |
2
1
在客户端尝试catch(exception),并检查要捕获的异常的类型以及任何内部异常。它可能会提供一些线索。 其他备注:
我的可序列化自定义异常模板如下所示,并且在远程处理连接上序列化没有任何问题。
更新 此外,如果您在IIS中托管服务器代码,则需要web.config中的以下内容以允许异常传播到客户端:
|
![]() |
3
0
这个错误有不同的原因,你们提到的不止一对。 我注意到了这个错误的另一个原因;那就是当远程调用可远程对象的构造函数时抛出和异常。异常没有被序列化,因为对象本身在该点上没有初始化。我相信您应该避免任何可能导致自定义异常被抛出到可远程对象的构造函数中的代码。如果在构造函数内的代码执行过程中引发了系统异常,则应将其作为系统错误(未知)进行处理,并构建一种机制,使用文件系统或其他方法存储该异常的详细信息。 .NET远程处理在过去听起来确实很有吸引力,但是项目越大,代码中引入的概念越多,该技术显示的弱点就越多。这是一项很好的技术,但您需要大量的经验来从中制定出一个强大的解决方案。 |
|
M.Jane · 组织和编写异常类的正确方法 7 年前 |
![]() |
shubham daharwal · java中的内部捕获异常 7 年前 |
![]() |
Jon · 如何在不需要任何操作的情况下处理Python异常 7 年前 |
![]() |
felix1415 · C++捕获(标准::异常和e)与捕获(…) 7 年前 |
![]() |
k0pernikus · 如何在scala中键入可能引发异常的函数? 7 年前 |