//所有的异常都是从Exception中继承的
try //检测有可能出现的异常代码,需要和catch连用
{
int num=Convert.ToInt32(Console.Readline());
}
catch(Exception ex) //如果出现异常,则会将Exception实例化
{
Console.WriteLine("程序出现异常,异常信息:"+ex.Message);
}
finally //可以写也可以不写。无论是否出现异常,finally里的程序代码都会执行的
{
Console.WriteLine("这是finally里的程序代码执行");
}
//自定义异常类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
//自定义异常,异常的出现时间
class MyException:Exception
{
private DateTime dt;
public DateTime Dt
{
get { return dt; }
set { dt = value; }
}
private string codeNum;
public string CodeNum
{
get { return codeNum; }
set { codeNum = value; }
}
public MyException(string codeNum,Exception ex):base(ex.Message)
{
this.CodeNum = codeNum;
this.Dt = DateTime.Now;
}
public void show()
{
Console.WriteLine("异常出现的时间:" + this.Dt + ",出现异常的代码:" + this.CodeNum + ",异常的信息:" + this.Message);
}
}
}
然后在static 函数中捕获异常进行异常处理,并在该静态方法中实例化自定义异常类,再将异常对象传到自定义异常类中