我應該調用哪個工廠方法System.Linq.Expressions.Expression來創建表達式樹——更具體地說,是一個CatchBlock實例——它代表catch以下 C# 代碼中的:try { // ...} catch { // ...}Catch方法的所有重載似乎都需要一個異常類型——等效于此:catch (Exception) { // ...}和/或ParameterExpression將綁定到異常的 a - 等同于:catch (Exception ex) { // ...}傳遞null到第一個參數(并轉換為Type以避免歧義):// using static System.Linq.Expressions.ExpressionCatch((Type)null, Constant(true));導致ArgumentNullException。MakeCatchBlock方法具有相同的行為
1 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
try {...} catch {...}
捕獲從非 .Net 組件拋出的異常并因此不繼承的用法System.Exception
是錯誤的,因為 CLR 自動將此類異常包裝為RuntimeWrappedException
顯然繼承的異常System.Exception
- 因此您也可以使用try {...} catch(Exception e) {...}
捕獲異常。
因此,沒有必要try {...} catch {...}
單獨處理 plain ,try {...} catch (Exception e) {...}
因為它們都會捕獲所有異常。
- 1 回答
- 0 關注
- 91 瀏覽
添加回答
舉報
0/150
提交
取消