ITPub博客

首页 > Linux操作系统 > Linux操作系统 > c# throw及try_catch关联测试

c# throw及try_catch关联测试

原创 Linux操作系统 作者:wisdomone1 时间:2012-07-07 18:36:38 0 删除 编辑
 //客户端
    class Program
    {
        //学习属性存取器,有效性检查是在SET中
        //属性与方法是平行关系,即属性不能在办法中定义,但可以在方法内部调用已经定义好的属性
        private int month;//月份
        public int Month
        {
            get
            {
                return month;
            }
            set
            {
                if (month < 1 || month > 12)
                {
                    throw new ArgumentOutOfRangeException(value.ToString());//如何赋值不合理,抛出异常
                }
                month = value;
            }

        }

        static void Main(string[] args)
        {
           //调用定义好的属性Month
            Program p = new Program();
            try
            {
                p.Month = 13;//因为在Month属性定义中有throw异常的代码,所以要用try来捕获,这样就会捕获指定的代码,一旦代码出错便于分析TRACE
            }
                //catch后跟的异常类型必须是month属性定义中throw抛出的异常的父类或至少和它的类一样
            catch (Exception e) //发现用了throw抛出异常必须要捕获异常用catch不然编译不通过哈 Exception 
            {
                Console.WriteLine(e.Message);
                throw new ArgumentNullException();
                throw e;//throw加指定异常会抛出具体的异常
                throw;//仅一个throw会怎么样呢 ,仅一个throw会把异常重新抛出
            }
            try
            {
                p.Month = 11;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadKey();
        }

        //定义枚举类型
        public enum testenum:int //枚举默认类型是int
        {
            first=1,
            second=2,
            third=3
        }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-734864/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2164
  • 访问量
    11714891