2011-10-18 192 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機制,這兩種機制都有助於使異常處理更加優雅並減少代碼膨脹。