2010-10-16 83 views
1

當我的程序拋出異常時,我得到的返回值爲7.究竟是7是什麼意思,我在哪裏可以得到這些返回值的列表?或者那只是它發生的第一行(儘管我有一次-1)?JAVA:對於ArrayIndexOutOfBoundsException異常,返回值意味着什麼?

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 
    at DataReader.get(DataReader.java:74) 
    at Employees.<init>(Employees.java:48) 
    at Main.main(Main.java:7) 

回答

5

這是您試圖檢索的數組索引。

您的應用程序代碼嘗試引用超出數組限制。這可能是由大於數組大小的索引引起的,也可能是由於您的第一個異常指示了傳入負索引。

在存在潛在風險的數組訪問之前檢查這些條件,或者至少將它包裝在try-catch塊中,以便可以恢復並繼續前進。

+0

很酷。謝謝!我知道我在陣列邊界之外,但我不知道那顯示了我試圖訪問的不存在的項目。 :D太糟糕了,並沒有說在javadoc中。 – trusktr 2010-10-16 18:15:20

+0

實際上,如果沒有詳細討論,實際上至少要提到它:「[例外]拋出ArrayIndexOutOfBoundsException [is]來指示數組已被非法索引訪問。索引爲負數或大於或等於陣列的大小「。 http://download.oracle.com/javase/1.4.2/docs/api/java/lang/ArrayIndexOutOfBoundsException.html – 2010-10-16 18:36:53

7

該號碼是您嘗試使用的號碼作爲get調用的參數。這不是錯誤代碼。

+0

你怎麼知道我正在使用致電?你有沒有讀過我的其他問題之一? hehe – trusktr 2010-10-16 18:16:54

+3

stacktrace的第一行告訴:'在DataReader.get(DataReader.java:74)'。 – BalusC 2010-10-16 18:27:18