为了账号安全,请及时绑定邮箱和手机立即绑定

使用表达式树工厂方法表示没有异常变量或过滤器的 try..catch

使用表达式树工厂方法表示没有异常变量或过滤器的 try..catch

C#
叮当猫咪 2022-11-21 16:51:29
我应该调用哪个工厂方法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) {...}因为它们都会捕获所有异常。


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 57 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信