• 22 C#中的异常处理入门 try catch throw


    软件运行过程中,如果出现了软件正常运行不应该出现的情况,软件就出现了异常。这时候我们需要去处理这些异常。或者让程序终止,避免出现更严重的错误。或者提示用户进行某些更改让程序可以继续运行下去。

    C#编程语言本身就为我们提供了这种异常处理机制。

    C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。或者试图将一个字符串"aaa"转换成整数。

    异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:trycatchfinallythrow

    • try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。
    • catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。
    • finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。
    • throw:当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。

    语法

    假设一个块将出现异常,一个方法使用 try 和 catch 关键字捕获异常。try/catch 块内的代码为受保护的代码,使用 try/catch 语法如下所示:

    try
                {
                    // 引起异常的语句
                }
                catch (ExceptionName e1)
                {
                    // 错误处理代码
                }
                catch (ExceptionName e2)
                {
                    // 错误处理代码
                }
                catch (ExceptionName eN)
                {
                    // 错误处理代码
                }
                finally
                {
                    // 要执行的语句
                }
    

    C#提供了很多种异常,我们在这里只要掌握最基本的异常Exception就可以啦。在catch语句中我们只处理Exception这个最基本的异常。

    下面我们看一个具体的例子,来更加清楚的理解一下C#的异常处理。

    你创建一个项目。解决方案名称为Sloution22,项目名称为Exercise22,项目类型为控制台程序。点击Program.cs. 在里边加入这些代码。

    我在这里简要的说明一下这段代码。

    1. 27行-45行 我们新建了一个ExceptionTest 方法。在这个方法中要求用户输入一个整数。如果用户输入一个字符串,我们的程序会产生异常。

    2. 39行 我们用throw抛出了一个我们自己定义的异常。在里边加入了我们想传递的一些信息。

    3. 41行-44行 finally语句是可选的。只有当需要做一些例如资源释放的操作的时候,才是需要的。不管有没有异常产生 finally部分都会执行。

    4. 13行-23行 调用ExceptionTest方法。同时捕获异常。

    5. 16行 如果调用ExceptionTest方法出现异常,这条语句不会执行。否则正常执行。

    6. 21行 输出异常的简要信息

    7. 22行 输出异常的详细信息。例如出错的代码位置。

    运行结果

    1. 用户输入字符串,产生异常

    2. 用户输入整数,程序正常执行

    练习

      1. 读懂代码,在关键的地方加上注释

      2. 查看详细的错误信息,定位是哪一行代码出现了问题。

      3. 去掉第39行 throw new Exception("转换出现异常");再次查看详细的错误信息,看看哪一行代码出现了问题。想想是什么原因。如果不明白,记得咨询我哦。

      4. finally语句一定会执行吗?去掉main方法的try catch 语句,调试一下程序。


    付费解答C#入门学习过程中碰到的各种问题。

    零基础学习C#入门,大多数的问题都可以通过自学或借助互联网解决。

    但是还是会有一些问题,不是那么容易解决,成为了你学习的绊脚石。最后甚至造成你学习的半途而废。通常学习C#编程入门,你会遇到20到30多个你不能很容易解决的问题。

    这个时候,你最需要什么呢?

    对!一个专业的老师给你帮助!

    你在学习本课程中,遇到任何问题都可以通过qq或email想本教程作者进行求助。

    只需30元你就可以得到本教程作者的三次专业解答。所以你只需不到300元就可以顺利的完成C#入门,从此推开软件行业的大门。

    付费方式非常简单:

    用微信扫描下面的二维码。在付款留言中留下你的qq号或email地址就可以啦。

    教育不是要便宜,而是要可靠!真正聪明的人,更懂得花钱让专业的人为自己服务,提高自己的效率。

    老师qq:2040227296

    老师email:2040227296@qq.com

  • 相关阅读:
    redis.conf配置详细解析
    laravel框架的注入
    10 个免费高清图片素材下载网站。#免版权# #设计# #图片处理#
    本地Git连接GitLab(服务器)远程仓库
    基于Docker的Mysql主从复制
    解决git本地代码推服务器每次都要输入用户名和密码的问题
    Laravel上传文件(单文件,多文件)
    php的精度计算问题(bcadd和bcsub)
    POJ 1573 Robot Motion(简单模拟)
    POJ 2996 Help Me with the Game(模拟)
  • 原文地址:https://www.cnblogs.com/thinking-jiang/p/5642282.html
Copyright © 2020-2023  润新知