-2
我正在分析靜態分析器的結果。在c#中如果涉及方法調用,`as`運算符會拋出異常
在c#語言中可以as
運算符拋出異常,如果涉及方法調用?即as
是否阻止了所有異常?
string string_name = some_object.Deserialize(openstream) as string;
我正在分析靜態分析器的結果。在c#中如果涉及方法調用,`as`運算符會拋出異常
在c#語言中可以as
運算符拋出異常,如果涉及方法調用?即as
是否阻止了所有異常?
string string_name = some_object.Deserialize(openstream) as string;
這不是as
運算符,而是拋出異常的方法。
嘗試:
var valueFromMethod = some_object.Deserialize(openstream);
string string_name = valueFromMethod as string;
您將獲得第一行除外。如果投射失敗,則返回null
。它不會拋出異常。
不,最壞的情況下as
將返回null
如果無法進行轉換。
一兩件事情很可能
Deserialize
拋出異常string_name
價值,並得到一個NullReferenceException
downvoters請在註釋解釋 – denfromufa
你爲什麼這麼問?此代碼是否會拋出異常?你爲什麼認爲方法調用是相關的? – CodeCaster
我在分析靜態分析器的結果 – denfromufa