說到throw語句,大家的第一反應是:用來丟擲異常。有throw必須要有try語句下的catch子句。……打住,throw語句的作用其實是:丟擲**的控制權,同時附帶傳遞一些資訊。
比方說:
沒問題。throw
int(9)
;
再比如:
也沒問題。throw
string
("hello"
);
不信,上機試試吧,一定會讓你明白的。
同樣,catch語句捕捉的資訊型別也不只是runtime_error一類的異常,而是涵蓋了大量的、不同的型別,比如int,比如string,再比如char。
因為throw和catch是內建語句,所以沒有型別限制。
Java異常處理的throw和throws的區別
1.區別 throws是用來宣告乙個方法可能丟擲的所有異常資訊,throws是將異常宣告但是不處理,而是將異常往上傳,誰呼叫我就交給誰處理。而throw則是指丟擲的乙個具體的異常型別。2.分別介紹 throws 用於宣告異常,例如,如果乙個方法裡面不想有任何的異常處理,則在沒有任何 進行異常處理的時...
throw和throw ex的區別
之前,在使用異常捕獲語句try.catch.throw語句時,一直沒太留意幾種用法的區別,前幾天除錯程式時無意中了解到幾種使用方法是有區別的,網上一查,還真是,主要是區別在堆疊資訊的起始點不同。總結如下 我們都知道,c 中使用throw和throw ex丟擲異常,但二者是有區別的。在c 中推薦使用t...
throw和throws的區別
throw語句用在方法體內,表示丟擲異常,由方法體內的語句處理。throws語句用在方法宣告後面,表示再丟擲異常,由該方法的呼叫者來處理。throws主要是宣告這個方法會丟擲這種型別的異常,使它的呼叫者知道要捕獲這個異常。throw是具體向外拋異常的動作,所以它是丟擲乙個異常例項。throws說明你...