C#异常数据捕获(2)

news/2024/9/19 12:07:36 标签: c#, 开发语言

            /*
            exception 例子


            
            try
            {

                //尝试运行的代码 可能出错的代码
                //int num = int .Parse("abc");
                int num1 = int.Parse("0");
                int num  = 10 / num1;
            }
            //catch (Exception ex) // 获取任意类型的错误
            //catch (FormatException ex) //获取字符串格式化的错误
            catch (DivideByZeroException ex) // 除零错误
            {
                //exeception 表示错误类型 是任意的类型
                //ex  是储存错误的变量 表示我们获取到的错误信息

                //当场试运行的代码出错时执行的代码逻辑
                Console.WriteLine("当尝试运行的代码出错时 执行的代码逻辑");
                Console.WriteLine(ex);
            }
             */

            /*
            //多catch 捕获异常
            try
            {
                Console.WriteLine("请输入一个数字:");
                int num1 = int .Parse(Console.ReadLine());
                int result = 10 / num1 ;
                //代码出错了 后续的代码就不再执行了


                throw new Exception("这是一个自定义的错误");
                //抛出一个自定义的错误
                //throw 关键字 用来抛出错误
            }
            catch (FormatException ex)
            {
                Console.WriteLine("字符串格式不正确");
            }
            catch (DivideByZeroException ex)
            {
                Console.WriteLine("除零错误");
            }
            catch (Exception )
            {

                Console.WriteLine("未知的错误");
                
            }
            */


            //finally 最终
            try
            {
                int a = int.Parse("123");
            }
            catch (Exception ex)
            {
                Console.WriteLine("出错了才会执行的代码------------");
                
            }
            finally
            {
                Console.WriteLine("不论是否出错都会执行的代码");
            }
            Console.ReadLine();

            /*
             * 1. try catch 必须一起出现 有try 这必须有catch
             * 2. finally 可以有也可以没有
             * 3. try:将可能抛出异常的代码块放在 try​ 语句中。
             * 4. catch:当 try​ 语句块中的代码抛出异常时,控制流会跳转到相应的 catch​ 语句块中,处理异常。
             * 5. finally:不论是否发生异常,finally​ 代码块都会执行,常用于清理资源。
             * 6. 错误类型,指定 的类形错误只能在指定的catch中处理                          Exception 类型是任意错误类型 什么错误都可以接受
             * 7. 当我们不知道错误的类型时 我们可以写Exception 类型
             * 8. throw 关键字用来抛出错误 可以通过throw new Exception("描述错误的信息") 自定义错误
             * 9. 代码一旦出错程序就会崩溃, 后续代码无法执行。因此我们需要使用异常捕获机制来处理异常,让程序可以正确的执行
             */
 


http://www.niftyadmin.cn/n/5654056.html

相关文章

Ubuntu apt 命令全面讲解

在Ubuntu及其衍生版本中,apt是一个非常重要的包管理工具,用于安装、卸载、更新和管理软件包。apt命令集成了apt-get和apt-cache的功能,提供了更为简洁和用户友好的命令格式。本文将详细介绍apt命令的使用方法,帮助用户更好地利用U…

D - 88888888

设N有K位 则&#xff1a; p998244353&#xff0c;是质数&#xff0c;vn%p只需要求一下分母的逆元即可。 分母于p互质&#xff0c;满足飞马小定理&#xff0c;故可以用其求逆元。 再用一下这个结论就OK了 #include<bits/stdc.h> using namespace std; #define int long…

ButterKnife:Android视图绑定的简化专家

在Android应用开发中&#xff0c;与UI组件的交互是不可或缺的一部分。然而&#xff0c;传统的视图绑定方式往往涉及大量的样板代码&#xff0c;这不仅增加了代码的复杂性&#xff0c;也使得维护变得更加困难。为了解决这一问题&#xff0c;Jake Wharton推出了ButterKnife&#…

火语言RPA流程组件介绍--鼠标拖拽元素

&#x1f6a9;【组件功能】&#xff1a;在开始位置上按下鼠标&#xff0c;拖动到结束坐标或指定元素上放下鼠标&#xff0c;实现目标元素的拖拽 配置预览 配置说明 丨拖动元素 支持T或# 默认FLOW输入项 开始拖动的元素,并从当前元素开始按下鼠标 丨拖动到 目标元素/目标位…

力扣100题——动态规划

爬楼梯 题目 70. 爬楼梯 - 力扣&#xff08;LeetCode&#xff09; 思路 动态规划关键在于写出状态转移方程&#xff0c;根据题目的意思每次能上一个台阶或两个台阶 用dp数组&#xff0c;dp[i]代表上到第i个台阶最多有几种的方法那么很容易就可以推出 dp[i]dp[i-1]dp[i-2]对…

OPENAIGC开发者大赛高校组银奖 | LonAC中小学编程学习平台

在第二届拯救者杯OPENAIGC开发者大赛中&#xff0c;涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到&#xff0c;我们特意开设了优秀作品报道专栏&#xff0c;旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者&#xff0c;希望能带给您…

AI大模型全栈工程师课程笔记 - RAG 检索增强生成

文章目录 \1. RAG\2. 构建流程 2.1 文档加载与切分2.2 传统检索引擎2.3 LLM接口封装2.4 构建prompt \3. 向量检索\4. 向量数据库\5. 基于向量检索的RAG\6. 进阶知识 6.1 文本分割粒度6.2 检索后再排序6.3 测试 1. RAG RAG&#xff08;Retrieval Augmented Generation&#…

spingboot中创建简单的WebSocket服务和使用OKHttp创建socket客户端接收数据

背景 springboot 中使用okhttp3创建webSocket服务端 server1 和客户端 client1&#xff0c;客户端clinet1调用server1用于发送图片&#xff0c;创建客户端client2接收此图片. 在Spring Boot中使用OkHttp3创建WebSocket服务端和客户端&#xff0c;涉及到两个不同的操作&#xff…