C# 教程

浏览8664
更新时间2025-08-11

C# 异常

执行 C# 代码时,可能会发生不同的错误:程序员编写的代码错误、由于错误输入而导致的错误或其他不可预见的事情。

当发生错误时,C# 通常会停止并生成错误消息。其技术术语是:C# 将抛出异常(抛出错误)。

C# try 和 catch

try 语句允许您定义要在执行时测试错误的代码块。

catch 语句允许您定义在 try 块中发生错误时要执行的代码块。

trycatch 关键字成对出现:

语法

try 
{
  // 尝试的代码块
}
catch (Exception e)
{
  // 处理错误的代码块
}

考虑以下实例,我们创建一个包含三个整数的数组:

这将产生错误,因为 myNumbers[10] 不存在。

int[] myNumbers = {1, 2, 3};
Console.WriteLine(myNumbers[10]); // 错误!

错误消息将是这样的(数组索引越界):

System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'

如果发生错误,我们可以使用 try...catch 来捕获错误,并执行一些代码来处理它。

在下面的例子中,我们使用了 catch 块中的变量 e 和内置的 Message 属性,输出了一条描述异常的消息:

实例

try
{
  int[] myNumbers = {1, 2, 3};
  Console.WriteLine(myNumbers[10]);
}
catch (Exception e)
{
  Console.WriteLine(e.Message);
}

输出将会是(数组索引越界。):

Index was outside the bounds of the array.

你也可以输出你自己的错误信息:

实例

try
{
  int[] myNumbers = {1, 2, 3};
  Console.WriteLine(myNumbers[10]);
}
catch (Exception e)
{
  Console.WriteLine("出现错误。");
}

输出将会是:

出现错误。

Finally

finally 语句允许您在 try...catch 之后执行代码,无论结果如何:

实例

try  
{  
  int[] myNumbers = {1, 2, 3};  
  Console.WriteLine(myNumbers[10]);  
}  
catch (Exception e)  
{  
  Console.WriteLine("出现错误。");  
}  
finally  
{  
  Console.WriteLine("'try catch' 结束。");  
}

输出将会是:

出现错误。  
'try catch' 结束。

throw 关键词

throw 语句允许您创建自定义错误。

throw 语句与异常类一起使用。C# 中有很多可用的异常类

  • ArithmeticException
  • FileNotFoundException
  • IndexOutOfRangeException
  • TimeOutException

实例

static void checkAge(int age)  
{  
  if (age < 18)  
  {  
    throw new ArithmeticException("访问被拒绝 - 您必须年满 18 岁。");  
  }  
  else  
  {  
    Console.WriteLine("访问被授予 - 您已经够年龄了!");  
  }  
}  
  
static void Main(string[] args)  
{  
  checkAge(15);  
}

程序中显示的错误消息将是:

System.ArithmeticException: '访问被拒绝 - 您必须年满 18 岁。'

如果 age 是 20,则不会出现异常:

实例

checkAge(20);

输出将会是:

访问被授予 - 您已经够年龄了!

相关视频

更多

免费

php8,我来也
初级php8,我来也

34万次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

39.6万次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

31万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

64.9万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.2万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.6万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.1万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.3万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.2万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载