网站首页 > 博客文章 正文
1.1.1. 什么是异常?
异常是程序运行时发生的错误事件,例如:
(1) 除以零:1/0,0 不能做除数
(2) 数组越界:定义arry[10]; 访问 arry[11],超出索引边界
(3) 文件未找到:指定路径下未找到文件
1.1.2. 异常的类型
(1) 编译时异常
编译时异常是在代码编译时发现的错误,通常是由于语法错误或类型错误引起的。这些错误必须在代码编译之前修正,否则程序无法运行。
public class Program
{
public static void Main()
{
// 缺少分号,导致语法错误
Console.WriteLine("Hello, World!")
}
}
(2) 运行时异常
运行时异常是在程序运行期间发生的错误。常见的运行时异常包括:
① DivideByZeroException:尝试除以零时抛出。
② IndexOutOfRangeException:数组索引超出范围时抛出。
③ NullReferenceException:尝试访问空对象时抛出。
④ FileNotFoundException:尝试访问不存在的文件时抛出。
1.1.3. 异常处理的基本结构
在C#中,通过 try-catch 块来处理异常。try 块包含可能引发异常的代码,catch 块捕获并处理异常。
try
{
// 可能引发异常的代码
}
catch (ExceptionType ex)
{
// 处理异常的代码
}
1.1.4. 示例
以下是一个处理用户输入异常的示例。在这个例子中,我们要求用户输入一个数字,并处理可能发生的异常,比如输入不是数字或输入为空的情况。
using System;
public class Program
{
public static void Main()
{
try
{
Console.WriteLine("请输入一个数字:");
string userInput = Console.ReadLine();
int number = int.Parse(userInput);
Console.WriteLine("你输入的数字是: " + number);
}
catch (FormatException ex)
{
Console.WriteLine("输入的不是有效的数字: " + ex.Message);
}
catch (ArgumentNullException ex)
{
Console.WriteLine("输入不能为空: " + ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("发生了一个错误: " + ex.Message);
}
}
}
猜你喜欢
- 2024-10-15 Python 速度慢,试试这个方法提高 1000 倍
- 2024-10-15 C# 文件操作浅析(c#代码文件)
- 2024-10-15 从零开始自学C#基础的第十五天——数组的基本用法
- 2024-10-15 浅谈C#取消令牌CancellationTokenSource
- 2024-10-15 总结了才知道,原来channel有这么多用法
- 2024-10-15 面向对象(8-15)异常类-C#编程零基础到入门学习
- 2024-10-15 .NET 6 中 LINQ 的改进(.net 调优)
- 2024-10-15 Log4net配置文件 C#(c# log4j)
- 2024-10-15 C# BIN文件读取以及CRC校验(匹配STM32F103)
- 2024-10-15 C#如何对String中的Contact/Join方法进行优化的
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)