架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 627|回复: 0

[资料] .NET/C# 中 try-catch-when 语法

[复制链接]
发表于 2023-10-18 20:04:33 | 显示全部楼层 |阅读模式
今天在看 Serilog.AspNetCore.RequestLoggingMiddleware 源码的时候,在方法中看到了 catch 后面跟上了 when 关键词,然后,一直没有用过 try-catch-when 语法。

QQ截图20231018195316.jpg

when(C# 参考):https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/when

使用上下文关键字 when 在以下上下文中指定筛选条件:

  • 在 try-catch 或 try-catch-finally 语句的 catch 子句中。
  • 作为 switch 语句中的 case guard。
  • 作为 switch 表达式中的 case guard。


try-catch-when 语法

可在 catch 子句中使用 when 关键字来指定一个条件,此条件必须为 true,才能执行特定异常的处理程序。 语法为:

其中,expr 是一个表达式,其计算结果为布尔值。 如果该表达式返回 true,则执行异常处理程序;如果返回 false,则不执行。

true:进入 catch 方法内,捕获异常。
false:不进去当前 catch 方法内,如果有其它 catch 则可能会进入到其它 catch 方法内,如果没有其它 catch,则会程序异常。

测试如下:

QQ截图20231018200133.jpg QQ截图20231018200412.jpg

(完)





上一篇:前端 JS 将 base64 转成 blob 后图片展示
下一篇:OpenWrt 设置本地软件包(源)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 15:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表