問下JDK的乙個設計問題,為什麼JDK要throw出那些執行時異常,這些不是可以自動丟擲的嗎?

時間 2021-05-31 14:57:09

1樓:李冰

開發時有幾個很重要的潛規則。

1,不要用系統自動throw exception,一定要自己來。換句話說,你要清楚的知道每乙個可能出現的錯誤是什麼,為什麼。

2,如果你所開發的專案是面向普通客戶而不是開發者的(也就是不是lib,API什麼的),所有的exception你都要handle。

2樓:feiyu1987

個人認為是為了提早發現錯誤,不蔓延錯誤。如果不檢查,你會發現錯誤報告會報在addIfUnderCorePoolSize內部,然後你又得回溯方法,向上查詢,最後找到根源。

在邊界檢查的時候就進行丟擲異常的話,因為對於這個方法,command為空是不可能發生的錯誤,如果發生了,說明這個方法沒必要跑下去了。

中庸一點的處理方法是如果command為空,則不執行,但是那樣會導致除錯異常困難,出現莫名bug,不是傳了引數嗎?為什麼不執行?

我認為還有乙個重要的原因,也就是閉包。裡面不會去幫你去處理這些異常,而且也不知道如何處理這些異常。異常丟擲的位置也很重要,因為我根本不知道有addIfUnderCorePoolSize這麼乙個方法,你在裡面拋個異常給我,我會覺得莫名奇妙的。

ps:不一定是addIfUnderCorePoolSize,但肯定不是這個方法

忽然想到乙個弱智的問題,為什麼普通計算裡面開方就不用考慮 兩個答案,而等式兩邊開方就有 呢

悲傷的阿木木 實數域上的平方運算是這樣的,具體的定義過程比較複雜,這裡只用注意定義域和陪域 實數域上的開算術平方根運算是這樣定義的,注意定義域和陪域與平方運算是不同的 用基本的分析學和代數學的知識可以證明上面的g是乙個函式 即滿足條件的g x 是唯一存在的 如果不恆取非負值,那麼g就不是乙個函式了 ...

乙個反常識的概率問題,為什麼主觀的想法可以改變客觀事情發生的概率呢?

mcg 三門問題,你的主觀想法,會影響主持人,來幫你排除掉乙個選項,即改變客觀事實。根據規則,主持人必定會開乙個山羊。也就是說,當年開始選擇了汽車,那麼主持人可以隨機選擇乙個山羊開。而你選擇了山羊,那麼主持人只能選擇另乙個山羊開。你的選擇決定了主持人對客觀事實的改變。 jwars 從資訊理論的角度講...

最近有乙個問題,為什麼想要理解心經的意思,和聽別人講佛法的時候都會頭暈呢?

空空子 經不能亂講,也不能胡亂聽別人的講解 自己沒搞懂,講給別人聽,會增加雙方的無明,所以會感受到頭暈,講對了就是雙方都清涼。或者話不對機,講的沒錯,但聽的人理解錯了,或者不信。所以聽經,講經都要如法,不能好為人師,徒增我慢,不懂裝懂,未證言證!如果感覺頭暈,就快快停下,從戒定慧一步乙個腳印,腳踏實...