繁体   English   中英

处理java异常的最佳实践

[英]Best practices in handling java exceptions

我开始学习 Java 并用 Java 编写我的第一个实用程序类,这些类应该投入生产。 在处理异常时,我有些迷茫。 在给定的代码行中有多少个 try 语句,是否有一些大致的数字?

应该用多少代码来处理异常……Eclipse 的任何插件?

最佳实践是在 try 块中包含 3-4 条语句并捕获异常还是在 try 块中包含 10-12 行,然后再包含 2-3 个捕获不同类型异常的 catch 语句,例如由文件相关或我自己抛出的异常课程或其他一些第 3 方课程..? 前者有点令人不快,而且代码非常臃肿。

这是一种常见的做法,仅在可以抛出异常的 try 块中包围该代码,还是可以在 try 块中标记周围的代码以及在 try 中说明如何使用文件句柄等。

任何指针..?

问: “最佳做法是在 try 块中包含 3-4 条语句并捕获异常还是……”

我认为您首先需要清楚异常。

try {
    ...some code that throws exceptions
} catch (Exception ex){
    ex.printStacktrace();
}

以上是处理异常的片段。 在异常处理中,我们将可能产生异常的代码保留在try{}块中,如果try块中的statemnet产生异常,就会被catch{}catch{}

Q:是否在try块中包含3-4条语句并捕获异常..

行数不是由规则决定的。 这取决于您的逻辑和程序要求。


以下链接可帮助您清除有关 Java 异常的基础http : //marakana.com/bookshelf/java_fundamentals_tutorial/exceptions.html

有关 Java 异常的最佳实践,请遵循以下文章和 QA。

Java 或 C# 异常管理的最佳实践

http://www.wikijava.org/wiki/10_best_practices_with_Exceptions

从 Java 教程中查看此路径: http : //download.oracle.com/javase/tutorial/essential/exceptions/index.html (请注意,这是针对 Java 7 的)。

异常处理的最佳实践不能真正用代码比例来表达。 首先了解错误、异常和运行时异常之间的重要区别。 错误和异常是Throwable层次结构的两个独立分支。 运行时异常是不需要声明的特殊异常类型,因为它们不会被普通代码处理。 一旦你了解了每个人的作用,你就可以顺利进行。

请记住,异常处理不仅是最佳实践和常识,而且在某种程度上还受到风格和观点的影响。 有些人喜欢及早捕获异常,导致代码中有很多 try-catch 块。 其他人喜欢尝试围绕更多行。

如果您可以随意使用 JDK 7 而不是旧的 Java 版本,请研究 try-with-resources 构造和 multi-catch 机制,这两者都有助于使异常处理更加优雅并减少代码膨胀。

我不会数线。

try catch 块作为代码块成功或作为代码块失败(一般情况下)。 因此,您可以考虑将“工作单元”包含在一个 try/catch 块中。 这与方法的基本定义相同。 所以两人经常可以走到一起。

在一种方法中放置一个 try/catch 块。

初学者的错误(我认为)是创建大量单独的 try catch 块,几乎每行一个。 通常你只想要一个大的,它包含你试图执行的工作单元。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM