Java 常見異常及趣味解釋

ImportNew發表於2015-09-29

常見 Java 異常解釋:(譯者注:非技術角度分析。閱讀有風險,理解需謹慎:))

java.lang
ArithmeticException 你正在試圖使用電腦解決一個自己解決不了的數學問題,請重新閱讀你的算術表示式並再次嘗試。
ArrayIndexOutOfBoundsException 請檢視 IndexOutOfBoundsException。不同之處在於這個異常越界的元素不止一個。
ArrayStoreException 你已用光了所有陣列,需要從陣列商店中購買更多的陣列。
ClassCastException 你需要呆在自己出生的種姓或階級。Java 不會允許達利特人表現得像剎帝利或者高貴種族的人假裝成為工人階級。為了保持向前相容,Java 1.0中把Caste誤寫為Cast保留到了現在。
ClassNotFoundException 你似乎創造了自己的類。這也是目前 Java 還未實現的種姓制度,但是 Java 明顯使用了巴厘島的種姓制度。也就是說,如果你是一個武士,也就相當於印度種姓制度中的第三層——吠舍。
CloneNotSupportedException 你是一名克隆人。找到你的原型,告訴他你想做什麼,然後自殺。
IllegalAccessException 你是一個正在執行 Java 程式入室盜竊的小偷,請結束對電腦的盜竊行為,離開房子,然後再試一次。
IllegalArgumentException 你試圖反對之前的異常。
IllegalMonitorStateException 請開啟你的電腦螢幕背面。
IllegalStateException 你來自一個尚未被聯合國承認的國家,也許是庫爾德斯坦或者巴勒斯坦。拿到真正的國籍後重新編譯你的 Java 程式碼,然後再試一次。
IllegalThreadStateException 你電腦的一顆螺絲上到了錯誤的螺紋孔裡,請聯絡你的硬碟供應商。
IndexOutOfBoundsException 你把食指放在了無法接收的地方,重新放置,再試一次。
InstantiationException 不是每件事都會立即發生,請更耐心一點。
InterruptedException 告訴你的同事、室友等,當你工作的時候,請勿打擾。
NegativeArraySizeException 你建立了一個負數長度的陣列。這會丟失資訊,長期發展將會毀滅宇宙。不過放寬心,Java 發現了你正在做的事,不要再這麼幹了。
NoSuchFieldException 你正試圖去一個不存在的區域遊覽。如果你試圖去參觀一個事實上不存在,其實已經是最高機密的飛機場時,也會得到這個異常。我可以給你示例,然後不得不殺了你。
NoSuchMethodException 不要使用那個方法!拜託了,就像我們一直做的那樣去解決事情吧。
NullPointerException 你沒有狗。請你先找一隻狗,比如一隻布烈塔尼獵犬,然後再試一次。
NumberFormatException 你正在使用過時的測量單位,比如英寸或者品脫。請轉換成國際基本單位。有一個已知的 bug 會導致 Java 丟擲這個異常,那就是你太矮了或者太高了。
RuntimeException 你不能跑得足夠快,可能因為你太胖了。關掉你的電腦,出門鍛鍊吧。
SecurityException 你已被認為是國家安全的一個威脅。請你呆在原地別動,然後等著警察來並帶你走。
StringIndexOutOfBoundsException 你的內褲和這個地方格格不入。換掉它們,再試一次。另外如果你根本不穿任何內褲,也會得到這個異常。
UnsupportedOperationException 因為一些原因,你正試圖做一個在道德上不被 Java 支援的手術。包括不必要的截肢,例如割包皮。請停止濫用你的身體,不要移除你的孩子,該死的!
java.util
ConcurrentModificationException 有人修改了你的 Java 程式碼。你應該更改密碼。
EmptyStackException 為了讓 Java 工作,你必須在桌子上放一疊 Java 書籍。當然,如果書很厚的話,一本就夠了。
MissingResourceException 你太窮了,不配使用 Java。換一個更便宜的語言吧(比如 Whitespace、Shakesperre、Cow、Spaghetti 或者 C#)。
NoSuchElementException 這裡只存在四種元素(地球、水、空氣、火)。《第五元素》只是部電影而已。
TooManyListenersException 你被太多祕密機構竊聽了,SecurityException 馬上就到。
java.awt
AWTException 你正在使用AWT,也就是說你的圖形介面會很醜。這個異常只是一個警告可以被忽略。
FontFormatException 你的佈局很醜陋,或者你選擇了一個糟糕的字型,或者太多的字型。請諮詢一名專業的設計師。
HeadlessException Java 認為身為一名程式設計師,你實在是太蠢了。
IllegalComponentStateException 你的一個硬體(例如硬碟、CPU、記憶體)壞掉了。請聯絡你的硬體供應商。
java.awt.color
CMMException 你的 CMM 壞掉了,真是見鬼了。我經常燒燬自己的房子,然後去一個新的城市重新開始。
ProfileDataException 你的個人檔案包含可疑資訊。如果你不是一名共產主義者、恐怖分子或者無神論者,請聯絡 CIA 修正錯誤。
java.awt.datatransfer
MimeTypeParseException 你的啞劇(Mime)糟透了,沒人能夠理解你到底想表達什麼。嘗試一些更簡單的事情吧,比如迎風散步,或者被困在一個看不見的盒子裡。
UnsupportedFlavorException 你正試圖使用一種 Java 不知道的香料。大部分人似乎只知道使用香草和櫻桃。
java.beans
IntrospectionException 你太內向了,你應該變得外向一些。 別再當一個呆子,出門去見見人吧!
PropertyVetoException 你的一部分財產被凍結了。這條資訊應該已經告訴你誰幹的和原因。如果沒看見,你可能也不該詢問。
java.io
CharConversionException 你一直試圖焚燒一些不燃物。也可能是因為你試著把自己變成一條魚,但這不可能發生。
EOFException 你得到這條異常是因為你不知道EOF是什麼意思。但是,我並不打算告訴你,因為你是一個不學無術的人。
FileNotFoundException 一名木匠應該總是知道他的工具放在哪裡。
InterruptedIOException 你不顧之前的 IOException,一直在使用 IO,然後你的活動就被中斷了。
InvalidClassException 檢視 ClassNotFoundException
InvalidObjectException 反對無效,就像他們在法庭上說的一樣。
IOException IO 代表輸入、輸出,並且不得不做收發資料的事。IO 是一個安全問題,不應使用。
NotActiveException 這個異常意味著兩件事。要麼是未啟用,需要啟用;要麼是已啟用,需要停止。到開始工作為止,啟用與未啟用都是隨機的。
NotSerializableException 你正試圖把一部電影改成電視劇。
ObjectStreamException 你提出了一連串的反對(Object)意見。提出新的意見前,請限制自己一下,等待法官作出判決。檢視 InvalidObjectException
OptionalDataException 你似乎認為一些可選資料是必須的。不要讓事情變得複雜。
StreamCorruptedException 你的資料流被損壞了,這意味著它已經被截包,並在黑市上販賣。
SyncFailedException 你試圖與其他人同步你的失敗,然後被證明比他人更加失敗。去找一些跟你同等水平的人吧。
UnsupportedEncodingException 如果你想在網上傳送自己的程式碼,必須與美國國家安全域性核對你的加密密匙。如果不這麼做,將把你視為恐怖分子,並以適當方式處理。如果你得到這個異常,能跑多快跑多快。
UTFDataFormatException UTF 代表通用傳輸格式,是一種無論你使用哪種格式都會用到的資料傳輸方式。你試圖通過 UTF 傳輸錯誤格式的資料。
WriteAbortedException 你需要在程式中的某處寫上“aborted”。這通常沒什麼意義,但你就得這樣做。
java.net
BindException Java程式設計和束縛不能混為一談。
ConnectException 你正試圖與一個不能連線的事物建立連線。試著連線其他事物吧。也許可以通過一個特殊的連線物件實現你想要的連線。
MalformedURLException 你正在製作一個形狀錯誤的壺(例如一個“L”狀),或者你有拼寫錯誤的單詞“urn”(例如“url”)。
NoRouteToHostException 沒有通往主機的“道路”,請聯絡公路管理員。
PortUnreachableException 港口必須正確地放置在水邊。如果在內陸,它們將會無法接觸。
ProtocolException 這是一個嚴重違反規定的結果(例如在你主機上的“puk韓g”)。解決方法很簡單:不要那樣做!
SocketException 你把電腦連線到了錯誤的電源插座。大部分情況下你不得不尋找其它插座,但一些電腦背部有一個開關,可以設定電源插座型別。
SocketTimeoutException 你的電腦連線了一個帶計時器的電源插座,並且時間已經走完。只有烙鐵和相似的東西才會使用這種插座。
UnknownHostException 你的父母沒有教過你不要和陌生人說話麼?
UnknownServiceException 你正試圖進入接近一個未知服務。眾所周知,未知服務或許是特工組織。
URISyntaxException “You are I”是一個語法錯誤的句子。將其改為“You are me”,別管那到底啥意思。
java.rmi
AccessException 你正在使用“Microsoft Access”。請不要這樣做。
AlreadyBoundException 不管在 java.net.BindException 的描述中是什麼狀況,RMI 都提供捆綁服務。然而,你不能綁一個已經被捆綁的人。
ConnectException 你正試圖與一個不能連線的事物建立連線。試著連線其他事物吧。也許可以通過一個特殊的連線物件實現你想要的連線。
ConnectIOException 你正試圖通過 IO 與另一個不能被連線的事物建立連線。嘗試連線其他事物吧。或許你可以通過一個特殊的連線物件實現想要的連線。
MarshalException 你的“marshal”出問題了。你應做的事取決於我們正在討論的是哪種“marshal”。他可以是陸軍元帥、警察、消防隊員或者只不過是一名普通的司儀。注意這個異常與馬紹爾群島共和國沒有任何關係,也稱為 RMI。
NoSuchObjectException 你正試圖使用一個不存在的物件。以愛因斯坦之名,創造它或者不要使用它!
NotBoundException 如果你正在使用奴隸,請確認至少有一個人被綁住了。
RemoteException 這是一條遠端丟擲的特殊異常。如果其他人的應用變得不穩定,以致於不能產生一條異常,相反地,你可能會得到這條異常。請找到源頭並提醒那位程式設計師這個錯誤。
RMISecurityException 馬紹爾群島共和國變得不穩定了。如果你住在這兒,你最好離開,直到安全得到保障為止都別回來。如果你住在其他地方,可以無視這個異常。
ServerException 第二發球(或者雙發失誤同樣適用)。
ServerRuntimeException 只要是網球比賽都很長。當你花太長時間發球時,就會得到這條異常。
StubNotFoundException 當你去看電影的時候,你應該一直保留自己的票根。如果不這麼做,並且離開了電影院,你就不能重新進去,不得不去買張新票。所以保留你的票根!
UnexpectedException 這個異常對你來說應該會成為一個大驚喜。如果發生了,所有事都變成它應該的樣子。
UnknownHostException 你父母沒有教過你不要和陌生人說話嗎?
UnmarshalException .你沒有完成一名法律工作人員的職責(例如你曾經的法官工作)。注意這個正確的術語是“曾經”(used to)。你已經被解僱(fire)了(如果你是一名消防隊員(firefighter),這可真是諷刺啊)。
java.security
AccessControlException 你失去了對 Microsoft Access 的控制。如果你無法重獲控制或者通過其他方式停止程式,你應該儘快切斷電腦電源。
DigestException 你應該注意自己的食物,消化不良也能變成嚴重的問題。
GeneralSecurityException 在某些地方做一些事情並不安全。如果你有足夠的權力,你應該隨機入侵一個國家(最好在中東地區)。如果你沒有那種權力,至少應該有一把槍。
InvalidAlgorithmParameterException 你向一位殘疾人用他不能理解的方式解釋你的演算法。簡單一點!
InvalidKeyException 這個異常有兩種不同的原因:1、你正在使用錯誤的鑰匙。我的建議是在你的鑰匙上畫不同顏色的小點來幫助你記住哪一把對應哪一個鎖。2、 你不能鎖住殘疾人卻不給他們鑰匙,如果他們足夠聰明發現如何使用鑰匙,他們就有自由移動的權利。
InvalidParameterException 你使用了蔑視的術語去描述一名殘疾人。
KeyException 不要嘗試不用鑰匙就能開鎖。
KeyManagementException 你遺失了自己的鑰匙。很可能忘在辦公室(如果你正試圖進入你家)或者忘在家裡(如果你正試圖進入辦公室)。
KeyStoreException 延續之前 KeyManagementException 的解釋就是你的錢包有個洞。
NoSuchAlgorithmException 你試圖用以前未知的方法解決問題。停止創新吧,用老演算法重寫一遍。你也可以為自己的想法申請專利,然後等待未來 Java 釋出新版本的時候納入其中。
NoSuchProviderException 如果你是一名單親媽媽,你沒法成為家庭主婦。首先,你得為家庭找到一名供養者。
PrivilegedActionException 你試圖採取一個行動,但是沒有得到許可權。比如,只有名人才可以做到地從謀殺中逃脫,只有天主教神父和耶和華的高階見證人才能做地猥褻兒童,只有在私人企業擔任管理職位的人才能被允許地偷錢。
ProviderException 你是一名婦女並試圖供養一個家庭。顯而易見,你的丈夫不能成為一名“家庭主婦”,所以你得讓他供養個家庭。想象一下,Java固執且不肯改變,事情就是這樣工作的,解決它。
SignatureException 要麼你是偽造的其他人的簽名,要麼是無法接受你的簽名。一個簽名不能太醜陋、太易讀或太大。
UnrecoverableKeyException 該死。你把你的鑰匙扔進了下水溝。我唯一能安慰你的就是其他人也無法恢復鑰匙,所以倒不是必須換掉你的鎖。
java.text
ParseException 你做的沒有任何意義,冷靜下來,再試一次。

相關文章