為什麼會有異常

2021-07-24 04:34:30 字數 563 閱讀 7212

為什麼會有異常?

為了使程式更好的執行。

很多教程裡都舉例:10/0 (0不能作為分母),這樣會報異常。

我常想,那麼為什麼不用if…else來解決這件的問題。

然而,真實的情況是:我們並不知道未來會發生什麼。

比如說,電腦乙個資料夾路徑,本來我用的好好的,突然有一天,來了乙個人,將這個檔案剪下走了,我並不知道這個檔案被剪下走了,無法再找到這樣的檔案了,這樣會造成很多不必要的誤會。所以,我們打算使用乙個異常處理機制throws,相當於乙個調解員,告訴我這個檔案已經不存在了。當然,我們還可以自己處理try…catch…finally。

只要try捕獲到異常,我們要麼catch,要麼finally,因為我們不能放著異常不管。

所以就有下面三種組合方式:

什麼時候try,什麼時候throws呢?

根據上面所看到的,如果後面的事要繼續處理catch/finally,那麼我們就要用try,如果不用繼續處理,直接throws就可以了

注意:這裡是throws,而不是throw。

throws 與 throw之間的區別是什麼呢?

throw

JS 裡為什麼會有 this

這篇文章是從語言創造者 js 之父的角度 來思考 this,我之前那篇講 this 的文章是從使用者的角度寫的。假設我們有乙個物件 var person saybye function 這個 person 物件有 name 和 age 屬性,還有乙個 sayhi 方法,現在的需求是 呼叫 perso...

為什麼會有滑動視窗

既然我們已經有了滾動視窗,為什麼還需要滑動視窗呢?也就是滑動視窗的意義是什麼?其實滾動視窗和滑動視窗並沒有特別的應用場景要求,也就是說到底什麼時候用滑動視窗,什麼時候用滾動視窗完全根據需求來決定.那麼滑動視窗和滾動視窗的區別是什麼?當我們需要更細粒度的統計計算,需要使用滑動視窗.可能有人會問那我們使...

為什麼會有epoll技術

為什麼會有epoll這個技術的產生呢?select 和poll 函式,這兩系統函式每次呼叫都需要我們 提供給它所要需要偵聽的socket檔案描述符集合 select 和poll 函式的返回值是個int整型值,只能代表有 幾個socket就緒或者是有錯誤了 它沒辦法表示出是哪個 具體是哪幾個socke...