首页/新闻资讯/正文详情

C#异常相关关键字:Exceptions,throw,try,catch,finally

发布时间:2026/9/26 0:49:17 来源:云帆数科 栏目:资讯中心
C#异常相关关键字:Exceptions,throw,try,catch,finally
一.异常Exceptions1.1 异常概述异常就是运行时错误(报错)它会打断程序的执行流程位于产生异常的代码之后的语句不会执行1.2 异常原因语句throw会立即无条件地抛出异常某些语句/表达式在算不下去、做不成时(比如除以0访问数字下标-1)运行时会自己抛异常1.3System.Exception类System.Exception是所有异常的基类其Message属性包含异常的描述信息1.4 常见异常类异常类型描述System.ArithmeticException算术运算期间发生的异常的基类例如System.DivideByZeroException和System.OverflowException。System.ArrayTypeMismatchException当存储到数组失败时抛出因为存储元素的类型与数组的类型不兼容。System.DivideByZeroException当尝试将整数值除以零时抛出。System.IndexOutOfRangeException当尝试通过小于零或超出数组边界的索引来索引数组时抛出。System.InvalidCastException当从基类型或接口到派生类型的显式转换在运行时失败时抛出。System.InvalidOperationException当方法调用对于对象的当前状态无效时抛出。System.NullReferenceExceptionnull当引用的使用方式导致需要引用的对象时抛出。System.OutOfMemoryException当尝试分配内存通过new失败时抛出。System.OverflowException当上下文中的算术运算checked溢出时抛出。System.StackOverflowException当执行堆栈由于有太多挂起的调用而耗尽时抛出通常表示非常深或无限的递归。System.TypeInitializationException当静态构造函数或静态字段初始值设定项引发异常且不catch存在任何子句来捕获该异常时抛出。参考Exceptions二.try catchtry-catch语法用来应对发生异常后的处理具体语法是在try块中发生异常后逐个匹配catch中的类型匹配成功则执行对应的catch块try { int a 1; int b 0; int c a / b; } catch (IndexOutOfRangeException e) { Debug.Log(捕获到异常IndexOutOfRangeException: e.Message); } catch (ArithmeticException e) { Debug.Log(捕获到异常ArithmeticException: e.Message); } catch (Exception e) { Debug.Log(捕获到异常Exception: e.Message); }三.throwthrow语句用来主动触发异常执行throw后会产生报错后面语句不再执行throw有两种用法3.1 throw ethrow后面加一个Exceptions异常对象egthrow new ArithmeticException();3.2 在catch中调用throwtry-catch语句中若没有throw则不会产生报错若要显示报错在catch语句块中执行throw即可注意throw后面没有异常对象直接跟分号try { int a 1; int b 0; int c a / b; } catch (ArithmeticException e) { Debug.Log(捕获到异常ArithmeticException: e.Message); throw; }Tip用throw e替代throw可以但不推荐建议统一按throw;来写参考异常处理语句四.try finallytry-finally语法无异常执行完try块时finally块将执行try { int a 1; int b 1; int c a / b; } finally { Debug.Log(run finally); }五.try catch finallytry-catch-finally一起使用时finally将在catch之后执行try { int a 1; int b 0; int c a / b; } catch (ArithmeticException e) { Debug.Log(捕获到异常ArithmeticException: e.Message); throw; } finally { Debug.Log(run finally); }

相关推荐

如何在普通PC上免费运行macOS系统?VMware解锁工具完全指南
如何在普通PC上免费运行macOS系统?VMware解锁工具完全指南

如何在普通PC上免费运行macOS系统?VMware解锁工具完全指南 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/un/unlocker 想要在普通Windows或Linux电脑上体验macOS系统吗?VMware macOS Unlocker正… · 2026/9/22 19:37:12

GTA5线上小助手:终极游戏增强工具完整指南
GTA5线上小助手:终极游戏增强工具完整指南

GTA5线上小助手:终极游戏增强工具完整指南 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools GTA5线上小助手是一款专为《侠盗猎车手5》线上模式玩家设计的免费开源增强工具。这个功能强大的GT… · 2026/9/25 5:47:44

多模态RAG框架:企业智能化应用的核心技术解析
多模态RAG框架:企业智能化应用的核心技术解析

1. 多模态Agent与RAG框架的核心价值解析 当企业数据呈现爆炸式增长且形态日趋复杂时,传统单模态AI系统已难以应对实际业务需求。多模态Agent通过整合文本、图像、音频等多维数据理解能力,结合RAG(检索增强生成)框架的实时知识检索… · 2026/9/25 19:52:51

Windows 10 安装 Docker Desktop 全流程与 WSL 2 排查指南
Windows 10 安装 Docker Desktop 全流程与 WSL 2 排查指南

1. 为什么在 Windows 10 上装 Docker Desktop 不是“点下一步就完事”?——从真实踩坑现场说起 你搜“Windows 10 安装 Docker Desktop 教程”,页面刷出来几十篇,标题都差不多,点进去一看:下载安装包 → 双击运行 → … · 2026/9/26 0:48:44

深入KillerPDF.Engine源码:完整图解PDF解析器、交叉引用表与有界解析的实现原理
深入KillerPDF.Engine源码:完整图解PDF解析器、交叉引用表与有界解析的实现原理

深入KillerPDF.Engine源码:完整图解PDF解析器、交叉引用表与有界解析的实现原理 【免费下载链接】KillerPDF Free and open-source PDF editor for Windows with a built-in PDF 2.0 engine. View, annotate, OCR, merge, split, crop, rotate, compare, edit text,… · 2026/9/26 0:45:32

磁轴键盘的硬件秘密:Keychron-Keyboards-Hardware-Design 中 Q HE 与 K HE 磁轴结构设计的深度解读
磁轴键盘的硬件秘密:Keychron-Keyboards-Hardware-Design 中 Q HE 与 K HE 磁轴结构设计的深度解读

磁轴键盘的硬件秘密:Keychron-Keyboards-Hardware-Design 中 Q HE 与 K HE 磁轴结构设计的深度解读 【免费下载链接】Keychron-Keyboards-Hardware-Design Industrial design files for Keychron keyboards and mice. 100 models with CAD assets in STEP, DXF, DWG… · 2026/9/26 0:43:28

大数运算课程设计全解析:从数组存储到快速幂与进制转换
大数运算课程设计全解析:从数组存储到快速幂与进制转换

简介:一份用于数据结构课程设计的大数运算完整工程,面向高校学生、算法初学者以及需要完成同类课题的开发者。资源以 C 实现为主,同时支持十进制与二进制大数的加法、减法、乘法、除法、乘方、取模六类运算,包含快速幂、长除法、逐… · 2026/9/26 0:43:16

答辩PPT模板实战:从母版到放映的完整避坑指南
答辩PPT模板实战:从母版到放映的完整避坑指南

简介:为华中科技大学毕业生设计的毕业论文答辩PPT模板,聚焦论文答辩演示场景,内置研究背景及意义、研究目的及意义、研究思路及方法、研究结果与应用、相关建议和结论、参考文献、目录等答辩通用模块,整套叙事路径完整&#xff0c… · 2026/9/26 0:43:09

Web Worker + MinIO:多平台大文件上传兼容性实践
Web Worker + MinIO:多平台大文件上传兼容性实践

大文件上传真正让人头秃的,通常不是文件本身太大,而是“平台太多”。我这两年一直在做上传相关的功能,从几个MB的办公文档到几十GB的现场视频都碰过,最深的体会是:同一套代码在 Windows Chrome 上跑得飞快,… · 2026/9/26 0:43:09

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码