obj = null
或obj.member = null
)时会崩溃。很多时候,这个obj来自于第三方应用程序的接口,并导致第三方应用程序和我的Cs应用程序一起崩溃。我该如何在所有可能出现问题的地方添加异常处理,以便我的应用程序可以在这些灾难性情况下存活?在所有位置添加try-catch并从这种情况中恢复是一个挑战。
我该如何以实际、可靠和防弹的方式实现这一点?
[更新:工业自动化控制]
结构:
GUI(asp.net、c++)- RuntimeApp(C++)- MyCsApp(cs)- 3rdPartyApp(Cs)
正常流程:
1. HostApp--(通过以太网电缆连接)--MyCsApp 2. 操作员--GUI--RuntimeApp--MyCsApp 异常情况:
1.某些非标准操作程序; 2.某些硬件问题发生; 3.等等。
我最好处理所有的异常情况。最重要的是,我必须考虑如何从这些情况中恢复。
NullReferenceException
跨越整个堆栈,你就完了,无法优雅地恢复。 - Aaronaught