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
相关推荐
朝朝辞暮i5 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
小师兄吃牛肉6 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记6 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
未来之窗软件服务6 小时前
C# 截图源码支持自动保存-东方仙盟
c#·仙盟创梦ide·东方仙盟·电脑工具
言乐67 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779137 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha7 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i7 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i8 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿8 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网