C#编程-描述异常

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

描述异常

异常是在程序执行期间出现的错误。异常情况发生在运算不能正常完成的时候。当程序中出现异常是,系统会抛出错误。错误通过异常处理过程被处理。

例如,System.IO.IOException异常在试图访问非法流对象时抛出。同样,如果分母是0,整数除法运算抛出System.DivideByZeroException异常。

不论何时发生错误,运行时创建一个异常对象,并且将它发送到发生异常的程序。这个操作被称为抛出异常。异常对象包含关于错误类型的信息。

所有的异常都派生自System.Expection类,它是所有异常的父类。


错误的类型

在代码中可能发生的错误有三种类型。它们是:

  1. 语法错误
  2. 运行时错误
  3. 逻辑错误

语法错误

语法错误发生在编译器无法编译代码的时候。这样的错误可以发生在没有适当构造语句、关键字拼写错误或忽略标点的时候。在编译时,应用程序中的所有语句互相连接以产生一个可执行的单元。

运行时错误

运行时错误发生在应用程序试图完成一个运行时不允许的运算时。这样错误的示例有除数为零。运行时错误也被称为异常。所有的异常都在类的预定义集中被定义。

逻辑错误

逻辑错误发生在应用程序编译和运行正常单没有产生预期结果的时候。

小问题:
运行时错误也被称为______。
答案:exception


异常类

存在许多异常类,它们都直接或间接派生自System.Exception类。有些派生自System.Exception类的异常类是System.ApplicationException和System.SystemException。

异常类的层次结构在下图中显示。
在这里插入图片描述
如果任何用户定义的应用程序需要它自己的异常,它将从ApplicationException类继承异常。System.SystemException类充当所有预定义系统异常的基类。下表描述了一些派生自System.SystemException类的类。

异常类 描述
System.IO.IOException 处理I/O错误。
System.IndexOutOfRangeException 处理当方法引用超出了数组界限的数组元素时所产生的错误。
System.NullReferenceException 处理在解除空对象引用的过程中产生的错误
System.DivideByZeroException 处理在除数中除数为0的过程中产生的错误。它派生自System.ArthmeticException类,后者的父类是SystemException
System.InvalidCastException 处理在类型转换中产生的错误
System.OutOfMemoryException 处理应用程序内存分配的错误

小问题:
以下哪个类可以处理可能在
将一个数据类型转换为另一个数据类型的过程中所产生的错误?
a.System.OutOfMemoryException
b.System.NullReferenceException
c.System.InvalidCastException
d.System.IndexOutOfRangeException
答案:
c.System.InvalidCastException


在这里插入图片描述

处理异常

需要在程序中使用异常处理程序来处理异常。这个处理程序会处理异常。异常处理中,应用程序分为若干代码块。显示产生错误可能性的块包含一个或多个异常处理程序。这些处理程序尊徐控制的结构和统一方式来处理系统级和应用程序级错误。

以下代码显示了变量被零除时如何产生异常:

	using System;
	namespace System_Exception
	{
   
		class Add_Num
		{
   
			public static void Adding_Numbers( int number1, int number2)
			{
   
				int res = number1 / number2;
				Console.WriteLine(res);
			}
			static void Main(string[] args)
			{
   
				Add_Num.Adding_Numbers( 10,0 );
				Console.ReadLine();
			}
		}
	<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/308132.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

移动通信原理与关键技术学习(4)

1.小尺度衰落 Small-Scale Fading 由于收到的信号是由通过不同的多径到达的信号的总和&#xff0c;接收信号的增强有一定的减小。 小尺度衰落的特点&#xff1a; 信号强度在很小的传播距离或时间间隔内的快速变化&#xff1b;不同多径信号多普勒频移引起的随机调频&#xff…

Sentinel限流熔断

官网&#xff1a;https://sentinelguard.io/zh-cn/docs/introduction.html github文档&#xff1a;https://github.com/alibaba/Sentinel/wiki Sentinel 是一款面向分布式服务架构的轻量级流量控制组件&#xff0c;主要以流量为切入点&#xff0c;从流量控制、 熔断降级 、系…

javaweb基础----JDBC、servlet(二)

一、连接数据库 在昨天的基础上&#xff0c;现在我想来实现前后端以及数据库的连接。 CSDNhttps://mp.csdn.net/mp_blog/creation/editor/135388510?spm1001.2101.3001.4503在cn2包下创建2个类&#xff0c;一个登录界面login&#xff0c;还有一个实现登录过程的loginServlet…

CST—EMC(电磁兼容)仿真及分析工具

背景概述 随着汽车电子的发展特别是新能源互联网汽车的兴起&#xff0c;整车的EMC环境越来越恶劣&#xff0c;传统的EMC设计面临着设计阶段盲目性强、调试测试阶段工作量大、整改阶段重复性高等诸多挑战&#xff0c;需要通过EMC仿真来解决上述问题。EMC仿真贯穿产品开发全周期&…

40-特殊运算符delete,new,.getDate,.setDate,运算符优先级

1.delete删除. 数组 // 可以删除数组元素&#xff0c;可以删除对象键值对// 删除数组的值&#xff0c;数组长度保持不变// 删掉的值变成emptyvar arr [1,2,3,4,5];delete arr[0];console.log(arr); 对象 var obj {"a":"aa","b":"bb&quo…

Xcalibur软件Qual Brower程序的使用

找到Qual Brower&#xff1a;在System>Program里 打开采集的数据文件*.RAW&#xff0c;软件界面主窗口能查看色谱图和质谱图&#xff1a; 1、图形的放大和拷贝、色谱中查看峰的质谱信息&#xff1a; 点亮如图图像右上角的按钮&#xff0c;可以激活该图形并进行操作&#x…

AI Agent落地先行者实在智能:2023人工智能领军者、百强、TOP30揭榜

实在智能连登三榜&#xff01; 【2023年十佳人工智能行业领军人物】 【2023年度人工智能领域创新企业】 【2023年度最具投资价值企业】 喜大普奔&#xff01;近期&#xff0c;国内科技行业颇具含金量的三张榜单接连发布&#xff0c;实在智能皆榜上有名&#xff0c;“2023「…

WPF真入门教程26--项目案例--欧姆龙PLC通讯工具

1、案例介绍 前面已经完成了25篇的文章介绍&#xff0c;概括起来就是从0开始&#xff0c;一步步熟悉了wpf的概念&#xff0c;UI布局控件&#xff0c;资源样式文件的使用&#xff0c;MVVM模式介绍&#xff0c;命令Command等内容&#xff0c;这节来完成一个实际的项目开发&#…

C++类和对象(万字超详细讲解!!!)

文章目录 前言1.面向过程和面向对象区别2.类的基本概念2.1 类的引入2.2 类的定义2.3 类成员变量的命名规则2.4 类的访问限定符2.5 类的封装2.6 类的作用域2.7 类的实例化 3.类对象模型3.1 如何计算类对象的大小3.2 对齐规则 4.this指针4.1 this指针的引出4.2 this指针的特性4.3…

Python - 深夜数据结构与算法之 Two-Ended BFS

目录 一.引言 二.双向 BFS 简介 1.双向遍历示例 2.搜索模版回顾 三.经典算法实战 1.Word-Ladder [127] 2.Min-Gen-Mutation [433] 四.总结 一.引言 DFS、BFS 是常见的初级搜索方式&#xff0c;为了提高搜索效率&#xff0c;衍生了剪枝、双向 BFS 以及 A* 即启发式搜索…

动手学深度学习-卷积神经网络

卷积神经网络 在前面的章节中&#xff0c;我们遇到过图像数据。这种数据的每个样本都由一个二维像素网格组成&#xff0c;每个像素可能是一个或者多个数值&#xff0c;取决于是黑白还是彩色图像。到目前为止&#xff0c;我们处理这类结构丰富的数据方式还不够有效。我们仅仅通…

【web缓存】nginx和CDN应用

目录 一、代理的工作机制 二、代理服务器的概念 三、代理服务器的作用 四、常用的代理服务器 五、nginx缓存代理部署 步骤一&#xff1a;首先脚本完成三台nginx的部署 步骤二&#xff1a;在两个后端原始服务器上分别创建测试页面 步骤三&#xff1a;完成nginx缓存服务器…

RedisTemplate详解

一、SpringDataRedis简单介绍及引入 SpringData是Spring中数据操作的模块&#xff0c;包括对各种数据库的集成&#xff0c;其中对Redis的集成模块就叫SpringDataRedis 官网地址&#xff1a;https://spring.io/projects/spring-data-redis 1.1 特点&#xff1a; 提供了对不同…

观成科技-加密C2框架EvilOSX流量分析

工具简介 EvilOSX是一款开源的&#xff0c;由python编写专门为macOS系统设计的C2工具&#xff0c;该工具可以利用自身释放的木马来实现一系列集成功能&#xff0c;如键盘记录、文件捕获、浏览器历史记录爬取、截屏等。EvilOSX主要使用HTTP协议进行通信&#xff0c;通信内容为特…

公司新来的同事给出了if-else优化的8种方案

我们日常开发的项目中&#xff0c;如果代码中存在大量的if-else语句&#xff0c;阅读起来非常的折磨&#xff08;直接劝退&#xff09;&#xff0c;维护起来也很难&#xff0c;也特别容易出问题。比如说以下&#xff1a; 接下来&#xff0c;本文介绍我们常使用的8种方法去优化…

xinput1_4.dll缺失了怎么办?快速修复xinput1_4.dll文件的方法指南

在快速发展的数字时代&#xff0c;电子设备尤其是电脑成为了我们生活工作中必不可少的工具。然而&#xff0c;在使用过程中&#xff0c;我们可能会遇到各式各样的技术问题&#xff0c;其中一个常见问题是系统提示缺少 xinput1_4.dll文件。这个错误通常会在你尝试运行一个游戏或…

EF Core 在实际开发中,如何分层?

前言&#xff1a;什么是分层&#xff1f; 分层就是将 EF Core 放在单独的项目中&#xff0c;其它项目如 Asp.net core webapi 项目引用它这样的好处是解耦和项目职责的清晰划分&#xff0c;并且可以重用 EF Core 项目但是也会数据库迁移变得复杂起来 Step by step 步骤 创建一…

linux 安装 reids并使用Windows测试结果

要安装两个软件 Windows端安装下面的软件连接虚拟机中的redis Another Redis DeskTop Manager 安装和使用_another redis desktop怎么连接-CSDN博客 redis安装 查找可用版本 选择安装最多点赞的一个 安装完成后创建redis容器 docker run -t --name redis -p 6379:6379 -d r…

这6个设计小白学习网站,海量免费学习教程!

划到最后“阅读原文”——领取工具包&#xff08;超过1000工具&#xff0c;免费素材网站分享和行业报告&#xff09; Hi&#xff0c;我是胡猛夫~&#xff0c;专注于分享各类价值网站、高效工具&#xff01; ​更多资源&#xff0c;更多内容&#xff0c;欢迎交流&#xff01;公…