gpt4 book ai didi

c# - .NET 错误处理 : try/catch VS event VS return-value/status-fields

转载 作者:太空狗 更新时间:2023-10-29 20:17:46 34 4
gpt4 key购买 nike

我现在正处于跨平台移动应用程序开发的一个非常关键的十字路口,我真的需要一些专业知识(比如哇)。

为了提供一些上下文(我希望这可能有助于回答),我正在使用 VS2010U(不是 MonoDevelop,但适用于 IOS)基于方便的 MonoCross 框架在 .NET 中开发移动应用程序。第一个目标平台是 Android,然后是 IOS 和 Windows Phone“端口”(如果我做对了,就不是真的)。​​

现在我已经奠定了坚实的基础,包括业务逻辑、数据访问层、数据库、REST 网络服务等,我正在经历并尝试进行一些错误处理,但我不确定什么是最好的解决这个问题的方法是。

有人告诉我 try-catch block 可能会影响性能(在这种情况下这很重要),是
这是真的 ?我应该谨慎使用它们,还是在可能抛出异常的地方使用它们 (我有点想在我所有的 SQLite API 调用中使用它们,因为我不知道到底是什么 他们做了一半的时间)。

使用事件回调对错误处理来说是一件坏事吗?我被建议在任何时候使用这些 可能,而不是 try-catch,出于性能原因,但我不想破坏任何设计 原则和范例,最后到处都是马虎草率的代码。

第三种选择,开销最少,但处理起来却很烦人 其中,是状态字段和返回值。

那么大家怎么看呢?我想我只是在寻找一些总体方向,也许还有一些关于何时何地使用它们的建议,以及我很可能遗漏的任何其他技术。如果需要更多详细信息,请告诉我,我很乐意提供。

感谢您为此抽出宝贵时间!

最佳答案

我认为让你的程序变得丑陋的原因是到处都在进行异常处理,尽管我们有很好的异常处理模式。

这些将在您的代码库中发生的功能称为横切关注点,例如日志记录、安全性、审计、异常处理和......

你可以在这里找到好的模式http://msdn.microsoft.com/en-us/library/ee658105.aspx#ExceptionManagement .

值得一提的是,我不建议使用 Microsoft 文档中推荐的 EntLib。

如果您寻找面向方面编程 (AOP),您会找到很好的资源。最后的提示是,实现将使用依赖注入(inject)/IoC 框架来解决这些问题。

关于c# - .NET 错误处理 : try/catch VS event VS return-value/status-fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317943/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com