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();
}
}
}
注:捕捉类型的判断