已有56人关注
拓展训练二,新用户买电脑中,catch语句为什么没有输出呢?
发表在C#图书答疑 2022-11-13 《零基础学C#》第11 章 程序调试与异常处理 288页-288页
是否精华
版块置顶:

问题:下面语句中的catch (NullReferenceException ex){......},控制台为什么没有输出呢?


image.png

控制台结果:

image.png


部分程序语句:

-------------------------------------------------------------------------------------------------------------------

namespace Demo

{

    class Computer

    { // 创建一个Computer类

        public void powerUp()

        { // 创建一个普通的方法powerUp()

            Console.WriteLine("电脑正常开机启动"); // 控制台输出

        }

    }


    class NewComputer : Computer

    { // 创建一个NewComputer类继承Computer类


        private string brand; // 定义“电脑品牌”

        public void PowerUp()

        {// 重写父类Computer中的powerUp()方法

            Console.WriteLine("刚买回来的新电脑不能正常开机启动\n新电脑的品牌是:" + brand); // 控制台输出

        }

    }


    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("模拟场景:用户新买了台电脑,这台电脑与其他的电脑不一样,无法正常启动开机 \n 经检测,是由于电脑的品牌不确定造成的……\n");

            try

            { // try块

                NewComputer newComputer = new NewComputer(); // 创建对象newComputer

                newComputer.PowerUp(); // 对象newComputer调用powerUp()方法

            }

            catch (NullReferenceException ex)

            { // catch块

                Console.WriteLine("引起空指针异常:" + ex.Message); // 控制台输出

            }

            finally

            { // finally块

                Console.WriteLine("异常出现的原因:\n新机器newComputer对象中的品牌(brand)为null"); // 控制台输出

            }

            Console.ReadLine();

        }

    }

}


分享到:
精彩评论 1
小禾斗
学分:7303 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2022-11-17
沙发

出现空指针异常时才输出,你改成Exception就好了

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照