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()
}
posted @ 2019-04-08 13:40  cicarius  阅读(398)  评论(0编辑  收藏  举报