C#基础-异常处理与自定义异常
异常处理
static void Main(string[] args)
{
Console.WriteLine("请输入一个数字:");
try
{
// 监测可能出现异常代码
int intNum = Convert.ToInt32(Console.ReadLine());
}
catch(Exception ex)
{
Console.WriteLine("程序出现异常,异常信息:" + ex.Message);
}
finally // 可选
{
// 无论是否出现异常都会执行
}
}
自定义异常的写法
自定义一个异常类,在异常中添加时间和代码行号
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApp7
{
// 自定义异常类,异常出现时间
public class MyExpection:Exception
{
private DateTime dt;
private string codeNum;
public DateTime Dt { get => dt; set => dt = value; }
public string CodeNum { get => codeNum; set => codeNum = value; }
public MyExpection(string _codeNum,Exception ex):base(ex.Message)
{
this.CodeNum = _codeNum;
this.Dt = DateTime.Now;
}
public void ShowExceptionMsg()
{
Console.WriteLine("异常出现的时间:" + this.Dt + ",出现的代码:" + this.CodeNum + ",异常信息:" + this.Message);
}
}
}
主程序调用自定义异常写法
Console.WriteLine("请输入一个数字:");
try
{
// 监测可能出现异常代码
int intNum = Convert.ToInt32(Console.ReadLine());
}
catch(Exception ex)
{
MyExpection myExpection = new MyExpection("29", ex);
myExpection.ShowExceptionMsg()
}