24.try块怎么用 C#例子

这是一个用英语写的try-catch例子

简单来说就是一个try,try里面的代码可能会出错,然后有两个catch,规定了具体的错误是什么

如果发生相应的错误,就会把错误信息存到err里,err.Message是一个字符串格式的提示信息,可以打印出来。

最后用catch(Exception),可以捕捉大部分错误。

finally部分是无论代码出错与否都会执行的

简单来说就是我的代码在try里面出的错,可以被catch捕捉到,然后跳转到catch的代码位置继续执行。

cs 复制代码
using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("请输入一个数字:");
        string userinput=Console.ReadLine();

        try
        {
            int num = Convert.ToInt32(userinput);
            Console.WriteLine("input is " + num);
        }
        catch(FormatException err)
        {
            Console.WriteLine(err.Message);
        }
        catch (OverflowException err)
        {
            Console.WriteLine(err.Message);
        }
        catch(Exception err)
        {
            Console.WriteLine(err.Message);
        }
        finally
        {
            Console.WriteLine("Finish");
        }
    }
}

输出结果:

cs 复制代码
请输入一个数字:
jjgjg
The input string 'jjgjg' was not in a correct format.
Finish
相关推荐
枳实-叶11 小时前
【Linux驱动开发】第23天:spi_driver 的 probe / remove 函数实现规范
linux·驱动开发·c#
旖-旎11 小时前
QT界面优化(6)
开发语言·c++·qt
AI科技星11 小时前
基于超复数广义分形流形的电磁耦合与缪子反常磁矩几何理论
开发语言·平面·重构·概率论·量子计算·乖乖数学·全域数学
组合缺一11 小时前
用 ChatModel 构建 LLM 驱动的 Java 应用
java·开发语言·ai·llm·solon·rag
长明11 小时前
C#项目组织与概念梳理
后端·c#
零点零一11 小时前
QT 5升级到 Qt 6 使用 Clazy 检查将 C++ 应用程序移植到 Qt 6
开发语言·c++·qt
caimouse11 小时前
reactos 测试安装32位微信失败的日志
开发语言·微信
爱奥尼欧11 小时前
轻量级可扩展日志框架-异步日志与系统集成
开发语言·数据库·c++·学习
大圣编程11 小时前
python break语句
开发语言·前端·python
迷路爸爸18011 小时前
Python collections 入门+实战
windows·python·c#·collections·dict