首页 > 其他 > 详细

异常处理(待更新)

时间:2018-01-18 12:38:56      阅读:240      评论:0      收藏:0      [点我收藏+]

1.错误类型

  • 在程序中发生的错误的类型有三种。它们是: 语法错误:语法错误发生在语句没有适当构造、关键字被拼错或标点被忽略的时候。
  • 逻辑错误:逻辑错误发生在程序编译和运行正常但没有产生预期的结果的时候。
  • 运行时错误:运行时错误发生在程序试图完成一个操作,但它在运行时不被允许。

2.异常类

  许多异常类都是直接或者间接的派生自System.Exception类

3.通用的异常类

技术分享图片

技术分享图片

 

4.C#中异常处理是通过4个关键字来实现的:try catch finally throw

 5.try catch:

namespace ConsoleApplication10
{
class Excep
{
public int division(int a, int b)
{
return a / b;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入第一个数");
int a = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("请输入第二个数");
int b = Convert.ToInt32(Console.ReadLine());

Excep excep = new Excep();
try
{
excep.division(a, b);
}
catch (Exception e)
{

Console.WriteLine("can‘t division by zero");
}
Console.ReadKey();

 

}
}
}

技术分享图片

6.在try/catch后加入finally块,可以确保无论是否发生异常,finally块中的代码总能被执行

namespace ConsoleApplication10
{
class Excep
{
public int division(int a, int b)
{
return a / b;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入第一个数");
int a = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("请输入第二个数");
int b = Convert.ToInt32(Console.ReadLine());

Excep excep = new Excep();
try
{
Console.WriteLine("code1");
excep.division(a, b);
Console.WriteLine("code2");
}
catch (DivideByZeroException e)
{

Console.WriteLine(e.Message);
}
finally
{
Console.WriteLine("finsh");
}
Console.ReadKey();

 

}
}
}

技术分享图片

  注:捕捉类型的判断

 

异常处理(待更新)

原文:https://www.cnblogs.com/sunxiaoyan/p/8309334.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!