码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C#8.0本质论第十一章--异常处理


    C#8.0本质论第十一章–异常处理

    11.1多异常类型

    用关键字throw抛出异常实例,所选的异常类型应该能最好地说明发生异常的背景。

    11.2捕捉异常

    发生异常时,会跳转到与异常类型最匹配的catch块执行,匹配度由继承链决定。

    从C#6.0起,catch块支持一个额外的条件表达式。不是只根据异常类型来匹配,现在可以添加when子句来提供一个Boolean表达式,条件为true时catch块才处理异常。

    要避免异常条件表达式抛出异常。

    11.3重新抛出现有异常

    C#5.0新增了一个机制,允许抛出之前抛出的异常而不丢失原始异常中的栈跟踪信息。这样即使在catch块外部也能重新抛出异常。

    11.4常规catch块

    C#要求代码抛出的任何对象都必须从System.Exception派生。

    C#支持常规catch块,即catch{},其行为和catch(System.Exception exception)块完全一致,只是没有类型名或变量名,此外,必须是所有catch块的最后一个,所以在同一个try/catch块语句中,加入这两个catch块同时出现,编译器会显示一个警告消息,因为常规catch块永远得不到调用。

    11.5异常处理规范

    ①只捕捉能处理的异常。

    ②不要隐藏(bury)不能完全处理的异常。

    ③尽量少用System.Exception和常规catch块。

    ④避免在调用栈较低的位置报告或者记录异常。

    ⑤在catch块中使用throw;而不是throw<异常对象>语句

    ⑥想好异常条件来避免在catch块中重新抛出异常。

    ⑦避免在异常条件表达式中抛出异常。

    ⑧避免以后可能变化的异常条件表达式。

    ⑨重新抛出不同异常时要小心。

    a)更改异常类型课更好地澄清问题。

    b)私有数据是原始异常的一部分

    c)异常类型过于具体,以至于调用者不能恰当地处理。

    11.6自定义异常

    11.7重新抛出包装的异常

  • 相关阅读:
    代码质量与安全 | 实践“边写边清理”,您需要做好这两件事:质量配置文件和质量门
    C Primer Plus(6) 中文版 第7章 C控制语句:分支和跳转 7.6 循环辅助:continue和break
    PC首页资源加载速度由8s降到2s的优化实践
    MySQL 主从复制与读写分离
    《Groovy程序设计》读书笔记
    力扣283题:移动零
    系统升级丨VR会议主动呼叫,开启云洽谈新模式
    LeetCode 周赛上分之旅 #49 再探内向基环树
    go语言如何调用其他包中的函数
    值得掌握的Java代码优化技巧
  • 原文地址:https://blog.csdn.net/Story_1419/article/details/134260651
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号