我应该调用哪个工厂方法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 关注
- 80 浏览
添加回答
举报
0/150
提交
取消