2013-11-26 94 views
1

爲什麼java.util.zip.ZipError會被拋出,並且可以抓到它嗎?可以捕捉java.util.zip.ZipError嗎?

javadoc說,這意味着發生了不可恢復的錯誤 - 但是這樣的錯誤會是什麼?我聽說它可能發生在糟糕的zip文件中。

編輯:

望着java.util.zip來源表明,當試圖不存在的文件中訪問一個元素,它拋出,但java.util.zip.ZipFile類的內部計數指示元素應該存在。如果在方法檢查完此文件後,或者java.util.zip.ZipFile調用的本地方法出錯,另一個線程試圖關閉該文件,則可能發生這種情況。這看起來像是在Java應用程序打開文件時發生了改變。雖然(這很大!)我並不真正瞭解代碼庫的整體性。

+0

爲什麼你不趕上它? – redFIVE

+0

@redFIVE因爲這是一個錯誤,而不是一個例外。 – FrankPl

+0

@Frankpi啊好的,謝謝! – redFIVE

回答

2

ZipError表示低級JVM錯誤,儘管您可能會像其他任何異常一樣捕獲它,但是有可能整個JVM處於這樣的狀態,以致它不應該繼續運行。請注意,有一個單獨的ZipException更常見的錯誤類型,如損壞的文件,I/O錯誤等。

相關問題