设为首页 加入收藏

TOP

C#基础之异常处理及自定义异常(二)
2018-12-27 14:14:03 】 浏览:399
Tags:基础 异常 处理 定义
ception ex)
            {
                //抛出数组越界异常
                throw ex;
            }
        }


        static void C(string value)
        {
            // 创建新的异常.
            if (value == null)
            {
                //抛出新的异常
                throw new ArgumentNullException("value");
            }
        }
    }


        值得一提的是推荐使用throw来抛出异常。因为throw ex会将到现在为止的所有信息清空,认为你catch到的异常已经被处理了,只不过处理过程中又抛出新的异常,从而找不到真正发生异常的代码位置。


四、自定义异常


        自定义异常应该具有以下三个特征:


        ①  继承自System.ApplicationException类,并且使用Exception作为自定义异常类名的结尾


        ②  包含三个构造函数:一个无参构造函数;一个字符串参数的构造函数;一个字符串参数,一个内部异常作为参数的构造                函数


        ③  抛出自定义异常:throw new MyException(); 捕获自定义异常:Catch(MyException){  }


举个例子:


public class MyException : ApplicationException
    {
        private string error;
        private Exception innerException;
        //无参数构造函数
        public MyException()
        {


        }
        //带一个字符串参数的构造函数
        public MyException(string msg)
        {
            error = msg;
        }
        //带有一个字符串参数和一个内部异常信息参数的构造函数
        public MyException(string msg, Exception exception)
        {
            innerException = exception;
            error = msg;
        }
        public string GetError()
        {
            return error;
        }
    }


五、总结


异常处理的优势:


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python 函数调用&定义函数&函数参.. 下一篇Python中命名空间与作用域使用总结

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目