C#,入门教程(30)——扎好程序的笼子,错误处理 try catch

上一篇:

C#,入门教程(29)——修饰词静态(static)的用法详解icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/124683349

程序员语录:凡程序必有错,凡有错未必改!
程序出错的原因千千万,只有扎好程序的笼子才尽量不至于造成大错。
数据操作(比如:除0,超范围),尤其是文件与文件夹操作,更是容易出现错误。
因而,我们在学习文件File,FileInfo 及文件夹Directory,DirectoryInfo,进程与多线程等等更多的知识之前,必须先了解try...catch的错误处理机制。

没错,这是一种机制!

try catch 的基本语法

try
{
    自己认为绝不会出错,
    但实际上大大大大大大大大大大概率可能出错的代码块!
}
catch(Exception ex)
{
    除了错,怎么办?
    1. 交给上级 throw new Exception("报告:");
    2. 提示客户 MessageBox.Show("袜子露出来了!");
}

比如:

try 
{string[] xlines = File.ReadAllLines(filename);forach(string xu in xlines){xu = xu.ToLower();}...
}
catch(Exception ex)
{MessageBox.Show("ERROR: " + ex.Massage);
}

记住:从 main 函数,或者 Form1.Button1_Click(...) 等入口,每一层都可以
try catch ...

作为初学者,这就够了。

 ——————————————————————

POWER BY 315SOFT.COM &
TRUFFER.CN

下一篇:

 C#,入门教程(31)——预处理指令的基础知识与使用方法icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/124205075

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter 配置元件

Jmeter 配置元件 CSV 数据集配置HTTP Cookie 管理器HTTP Header 信息头管理器增加多个用户案列 使用Jmeter发送请求的时候,需要配置元件,配置请求Header、Cookie、数据集合等。可以模拟多个在线用户登录,修改请求头数据。 CSV 数据集配置 C…

[学习笔记]刘知远团队大模型技术与交叉应用L4-Prompt-learning Delta-learning

Prompt-Learning and Delta-Tunning 背景和概览 但是从T5开始,大模型越来越大了。 微调很难了。 模型的趋势 Model Scaling:模型越来越大 Difficult Tuning:微调越来越难 Prompt-Learning 基本组成与流程介绍 预训练和fine-tuning有一…

140:leaflet加载here地图(v2软件多种形式)

第140个 点击查看专栏目录 本示例介绍如何在vue+leaflet中添加HERE地图(v2版本的软件),并且含多种的表现形式。包括地图类型,文字标记的设置、语言的选择、PPI的设定。 v3版本和v2版本有很大的区别,关键是引用方法上,请参考文章尾部的API链接。 直接复制下面的 vue+leaf…

2023年12月青少年机器人技术等级考试(二级)理论综合试卷

2023年12月青少年机器人技术等级考试(二级)理论综合试卷 选择题 第 1 题 单选题 下图中,能够将圆周运动转化为往复摆动的是?( ) A. B. C. D. 第 2 题 单选题 如图,该机械结构可实现的运动…

新闻每天都在更新,那网页上的新闻页面是怎么使用Dreamweaver制作的?

新闻每天都在更新,那网页上的新闻页面是怎么使用Dreamweaver制作的? 新闻有很多种,但大多数结构都差不多,我们就先做一个简单的新闻页面,如图1中画圈圈的新闻内容。 图1 案例实现 新闻页面一般由四个部分构成&#…

MarkDown学习笔记 直观全面详细

前言 为什么我们要学习Markdown呢?因为Markdown简单易学易上手,可以以纯文本格式编写文档,然后转换成有效的HTML文档,并且以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档,许多网站平台的文章、博客、论文均可…

Acwing 138 周赛 解题报告 | 珂学家 | 偏序 + DP构造

前言 整体评价 很久没做acwing周赛了, 之前vp过一些周赛,感觉风格变了。 这次感觉还可以,都是些眼熟的套路题。 A. 5458. 进水排水问题 思路: 签到题 按题意描述编写 import java.io.*; import java.util.*;public class Main {public static void …

【QT+QGIS跨平台编译】之四:【libSSH2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、libSSH2介绍二、文件下载三、文件分析四、pro文件五、编译实践 一、libSSH2介绍 libSSH2是一个开源的C函数库,用来实现SSH2协议。 SSH(Secure SHell)到目前为止有两个不兼容的版本——SSH1和SSH2。 SSH2避免了RSA的专利问题,并修补了CRC…

Mybatis 动态SQL条件查询(注释和XML方式都有)

需求 : 根据用户的输入情况进行条件查询 新建了一个 userInfo2Mapper 接口,然后写下如下代码,声明 selectByCondition 这个方法 package com.example.mybatisdemo.mapper; import com.example.mybatisdemo.model.UserInfo; import org.apache.ibatis.annotations.*; import j…

DCDC电路基础认知

前言 从开关电源(BMS充电器)入门硬件之——DCDC电路基础认知 有纰漏请指出,转载请说明。 学习交流请发邮件 1280253714qq.com 最近做的项目中有个需求,输入的电压是变化的(12-24V),但要保证…

docker+selenium+firefox | 我踩过的坑

为了实现SSPUBot不在我电脑上部署,我只能将其制成Docker。 要知道SSPUBot在开发的时候用了seleniumFirefox的想法开发,所以Docker里面必须要有Firefox,结果这就让见识到了最顽固的错误selenium.common.exceptions.WebDriverException: Messag…

unity单例模式

文章目录 在Unity中,单例模式是一种常用的编程设计模式,用于确保在整个应用程序生命周期中,只有一个类的实例存在。这样可以保证数据的全局唯一性和共享性,例如游戏场景中的资源管理器、游戏控制器、事件管理器等。 以下是一个简单…

EtherNet/IP开发:C++开发CIP源代码

① 介绍一下CIP CIP是一种考虑到自动化行业而设计的通用协议。然而,由于其开放性,它可以并且已经应用于更多的领域。CIP网络库包含若干卷: 第1卷介绍了适用于所有网络自适应的CIP的常见方面。本卷包含通用对象库和设备配置文件库&#xff0…

常见的cpu高Case

介绍一些项目中遇到实际bug: RecyclerView中,每个item 都有一个不停运行的动画,选中1个后开始运行,来回点击不同的item,cpu会越来越高,原因是app:lottie_autoPlay"true"使暂停的动画的item也收到…

数据结构期末复习(5)图

图 在数据结构中,图(Graph)是由节点(Vertex)和边(Edge)组成的一种非线性数据结构。图可以用来表示不同事物之间的关系,比如社交网络中的用户和好友关系、城市之间的道路网络等。 图…

《繁花》中服饰公司的股票开盘价如何涨到了18.8

《繁花》中服饰公司的股票发行价是5块4一股,怎么就被强慕杰搞成了18.88一股的所谓开盘价呢? 股市里的股票其实和菜市场的白菜一样,发行价只是官方指导价,你实际能用多少钱在市面上买到,得看大家觉得它多少钱。或者愿意…

RLC如何通过改变频率实现输出稳压

当开关频率工作在容性区域时,容抗抵消完感抗还有剩余,所以容抗感抗可以近似为一个容抗Cr,但加上频率的改变,容抗又可以近似为一个可调电阻 那又改如何控制频率,保持输出稳压? 当输入与输出电压不变时,Rac变…

编写servlet

编写servlet 上述代码中的HTML页面将雇员ID发送给servlet。要创建servlet读取客户机发送的雇员ID并检索雇员的详细信息,需要执行以下步骤: 在“项目”选项卡中右击“Employee”节点,然后选择“新建”→Servlet。将显示“新建Servlet”对话框。在“类名”文本框中输入Employ…

苹果电脑(Mac)的node版本安装以及升降级

在开发过程中,对于不同的开发环境或者较老的项目可能需要切换不同的node版本,此过程会涉及到node版本的升级与降级,安装node版本管理模块n(sudo命令)。 全局安装n模块 sudo npm install n -g//输入后回车&#xff0c…

服务调用Ribbon,LoadBalance,Feign

服务调用Ribbon、Fegin Ribbon实现负载均衡的原理 1:LoadBalancerAutoConfiguration这个类,这个类主要做的就是把LoadBalancer拦截器封装到RestTemplte拦截器集合里面去。 2:然后在代码里面调用restTemplate.getForObject或者其他方法的时候&…