首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最佳的异常处理实践或建议?

最佳的异常处理实践或建议?
EN

Software Engineering用户
提问于 2012-06-26 23:23:23
回答 1查看 3.5K关注 0票数 13

我认为我的程序的两个主要问题是我的代码结构/组织和错误处理。我正在阅读代码完成2,但我需要一些东西来阅读,以处理潜在的问题。

例如,在一个网站上,如果只有当用户通过javascript篡改数据时才会发生某些事情,您会为此编写吗?另外,您什么时候没有捕捉到错误?当您编写一个类,它期望一个字符串和一个int作为输入,而它们不是字符串和int,您是否检查它,还是让它冒泡到传递不正确参数的调用方法?

我知道这是一个宽泛的话题,在这里不能用一个单一的答案来回答,所以我要找的是一本书或资源,它被普遍接受为教授正确的异常处理实践。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2012-06-26 23:31:26

需要记住的好事情之一是执行异常处理when there is a need

对于.NET开发平台,只需遵循MSDN指南- 处理异常的最佳实践,并检查这篇不错的代码项目文章- .NET中的异常处理最佳实践

然而,以下准则对任何开发平台都是适用的:

  • 不要管理异常的业务逻辑。使用条件语句代替。如果一个控件可以清楚地使用if-else语句,那么不要使用异常,因为它降低了可读性和性能(例如,空控制,除以零控制)。。
  • 异常名称必须明确和有意义,说明异常的原因。
  • 在实现方法时抛出错误条件的异常。例如,如果您返回-1,-2,-3等值而不是FileNotFoundException,则无法理解该方法。
  • 捕获特定异常,而不是顶级异常类。这将带来额外的性能、可读性和更具体的异常处理。
  • 带条件的Null控件不是捕获NullPointerException的替代方法。如果方法可能返回null,则使用If - may语句控制它。如果返回可能引发NullPointerException,则捕获它。
  • 试着不要因为价格问题而重新抛出异常。但是如果必须重新抛出,请重新抛出相同的异常,而不是创建新的异常。这将带来额外的性能。您可以添加额外的信息在每一层的例外。
  • 通过扩展当前的异常类(例如UserException、SystemException及其子类型)来定义自己的异常层次结构,并使用它们。通过这样做,您可以专门化您的异常并定义一个可重用的模块/异常层。在这个链接中需要遵循的更多内容
票数 13
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/154400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档