2011-10-18 114 views
5

我开始学习Java,并在Java中编写我应该在生产中使用的第一个实用程序类。在处理例外情况时,我有点失落。在给定的代码行中有几个try语句是否有一些棒球图?处理Java异常的最佳实践

代码的多少部分应该处理异常..任何插件的Eclipse?

最好的做法是在try块中包含3-4条语句并捕获异常或在try块中包含10-12行,然后包含2-3条捕获语句捕获不同类型的异常,或由我自己的班级或其他第三方课程..? 前者是有点不高兴眼睛,它是腹胀码了这么多..

这是普遍的做法,并仅围绕在try块代码可以抛出异常或它的罚款沿着周围的代码以及标签里面试着说文件句柄是如何被使用的等等。

任何指针..?

+2

你会走出困境。首先试着去了解什么是异常及其类型,什么是尝试,抓住和扔掉,然后你会清楚。 –

+2

我的提示:从你的大脑中删除“try-catch块”这个短语。想一想,而不是“尝试最后的块”。捕获可以恢复的异常,或者在哪里记录它们,然后继续......这通常在程序中处于非常高的水平。 – erickson

+0

首先查看我的答案:http://stackoverflow.com/questions/7129979/java-exception-handling/7130076#7130076然后http://download.oracle.com/javase/tutorial/essential/exceptions/index .html可能是你最好的教程。 –

回答

2

“是包含在try块和catch异常或... 3-4陈述最佳实践”

我认为你需要清楚例外第一。

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

以上是处理异常的代码片段。在异常处理中,我们保留可能在try{}块中生成异常的代码,并且如果try块中的statemnet生成异常,它将被catch{}块捕获。

是否在try语句块中包含3-4语句并捕获异常。 ..不是由RULES决定的。这取决于你的逻辑和程序的要求。


以下链接可以帮助你清除丰达关于Java异常http://marakana.com/bookshelf/java_fundamentals_tutorial/exceptions.html

对于最佳实践关于Java异常,请按照下列物品及质量保证。

Best practices for exception management in Java or C#

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

+0

我也会推荐本教程以了解最佳在java中使用异常的做法:[在java中有效使用异常](http://programmergate.com/use-exceptions-effectively/) –

0

我不会计算行。

try catch块成功地作为代码块或失败作为一块代码(一般性)。所以你可以考虑将“工作单元”包含在一个try/catch块中。这是一种方法的基本定义。所以他们经常可以一起去。

用一种方法放一个try/catch块。

初学者的错误(我认为)是创建大量的单个try catch块,几乎每行只有一个点。通常你只需要一个大的包含你正在努力完成的工作单元。

1

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

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

请记住,异常处理不仅仅是最佳实践和常识,还会受到风格和意见的某种程度的影响。有些人喜欢尽早捕获异常,导致代码中出现大量try-catch块。其他人则喜欢围绕更大数量的线路进行尝试。

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