C#为什么要用到 try...catch... 呢?
为什么代码里要用try…catch…语句?这是个问题。
通俗讲:就是给代码里面可能出现的不安全代码加了个保险。即使出错了,也不会停止,可以继续执行。
可能出现异常的代码,不用try catch的情况:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace TryCatchTest
{class Program{static void Main(string[] args) {//*********************************不使用try...catch...的情况**********************************************************Console.WriteLine("请输入一个整数:");int aa = int.Parse(Console.ReadLine());//这里输入的类型必须是整数,否则会报异常Console.WriteLine("上面的执行没有问题。");Console.ReadKey();}}
}
上面的代码。如果输入的是一个整数,就正常往下执行,执行后面的输出语句。
上面的代码。如果输入的不是一个整数,就报异常!!!!!!
按Enter后:
接下来我们来看,这段代码里使用try…catch…之后有什么好处。。。。。。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace TryCatchTest
{class Program{static void Main(string[] args) {//*********************************使用try...catch...的情况**********************************************************try{Console.WriteLine("请输入一个整数");int a = int.Parse(Console.ReadLine()); //如果是正确的输入,就在try里面继续执行,否则就跳到catch里面执行Console.WriteLine("上面的执行没有问题。");}catch //try中有异常的时候执行{Console.WriteLine("try块里面出现了异常!");}//finally//不管上面有没有错,都需要执行!//{// Console.WriteLine("谢谢使用,再见!");//} Console.ReadKey();}}
}
运行结果:
输入一个非整数后: try里面不报异常了,但是也不再执行try块里面的内容,而是去执行catch里的内容!
再来看下使用finally之后的情况:(去掉finally代码块的注释。。。。。。)
执行完catch里面的内容之后,对整个内容做一个了断。无论怎样都执行。
最后的最后,来看下在catch里面捕捉一下try里面出现的异常的详细内容,便于判断代码哪里出问题了,好顺藤摸瓜,解决问题。。。。。。。。。。。。。。。
这样我们就知道了是不安全代码到底不安全在哪里了。。。。。。。
综上,使用try…catch…有两个好处:
1、出现异常程序可以不报错,继续执行。。
2、可以捕获出现的异常,方便知道代码的哪里出现了问题,便于查看解决问题。。。。
C#为什么要用到 try...catch... 呢?相关推荐
- C++中try/catch/throw的使用
C++异常是指在程序运行时发生的反常行为,这些行为超出了函数正常功能的范围.当程序的某部分检测到一个它无法处理的问题时,需要用到异常处理.异常提供了一种转移程序控制权的方式.C++异常处理涉及到三个关 ...
- 前端try catch是如何捕获异常的_一文告诉你如何优雅处理前端异常?
前端一直是距离用户最近的一层,随着产品的日益完善,我们会更加注重用户体验,而前端异常却如鲠在喉,甚是烦人. 一.为什么要处理异常? 异常是不可控的,会影响最终的呈现结果,但是我们有充分的理由去做这样的 ...
- C#是否该支持“try/catch/else”语法
以前用过一段时间Python,里面有个try/catch/else语法,我觉得挺好用,这个语法形如下: try:print('try...')r = 10 / int('2')print('resul ...
- aspx页面使用ajax遇到try catch中使用Response.End()报错
1.使用Ajax接收数据,在返回Response.Write()后应该调用Response.End()才能将数据写入到调用的页面,才能被jQuery的回调函数获取到返回的JSON数据 2.在try-- ...
- (转)java 中的try catch finally 语句中含有return语句的执行情况(总结版)
原处:http://blog.csdn.net/ns_code/article/details/17485221 在这里看到了try catch finally块中含有return语句时程序执行的几种 ...
- 异常处理机制(Begin try Begin Catch)
begin try--SQL end trybegin catch --sql (处理出错动作)end catch 我们将可能会出错的sql 写在begin try...end try 之间,若出错, ...
- Matlab编程与数据类型 -- 出错处理语句try/catch/end
本微信图文详细介绍了Matlab中try/catch/end出错处理语句.
- 为什么不建议用try catch处理异常?
欢迎关注方志朋的博客,回复"666"获面试宝典 背景 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量 ...
- 不要再满屏写 try...catch 了!这个更香!
点击关注公众号,Java干货及时送达 来源:www.toutiao.com/i6878184496945070604 前言 软件开发springboot项目过程中,不可避免的需要处理各种异常,spri ...
- 公司这套架构统一处理 try...catch 这么香,求求你不要再满屏写了,再发现扣绩效!...
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:小李子说程序 www.toutiao.com/i68 ...
最新文章
- .net安装_无需安装Python,就可以在.NET里调用Python库
- Python-数学篇之计算方法的目录:
- sap scc4 客户端设置
- 为何小程序上线了,他们的内心却留下遗憾?
- Laravel 超好用代码提示工具 Laravel IDE Helper
- CentOS7安装PostgreSQL10,pgadmin4
- php 处理vue上传图片 base64_encode file_put_contents file_get_contents
- 我毕业一年后。生活的艰辛。我的程序人生该怎么走
- 从周鼎看如何当好研究生
- 《富爸爸穷爸爸 》 读书笔记
- 水星pppoe连接服务器无响应,利用水星路由器系统日志解决PPPOE拨号故障
- 解散群通知怎么写_家人微信群想解散通知怎么写
- 朴素贝叶斯算法原理以及python实现
- 上海亚商投顾:两市震荡引分化 汽车产业链获青睐
- input输入框输满3个字符自动跳到下一个input输入框
- 用Xlsx xlsx-style 导出excel表格,附带合并单元格,文字居中,文字颜色字体大小等样式 (复制即可实现)
- C语言中static与extern用法总结
- HTML+CSS网页设计期末课程大作——校园篮球网页(12页) 关于运动的HTML网页设计-----篮球
- OSChina 周六乱弹 ——请让我的灵魂最后一次燃烧
- 在硅谷,人生的可能性不只有 996
热门文章
- 高效万进制——蓝桥杯|HDOJ 1002 大数加法——30行代码AC
- Linux-网络配置
- 数据结构学习-二维数组与稀疏数组转换
- Python程序开发——Python实现可增删改查的员工管理系统
- html flash 循环播放,在网页中插入flv格式的flash视频怎么让其循环播放_html/css_WEB-ITnose...
- php5.6 event,php安装event扩展
- 给Win7光盘添加PE3.0
- Java如何校验中文乱码_java如何判断是否中文乱码
- 电脑测速软件_iPerf3 搭建局域网内部测速环境
- esp8266 php 接口,ESP8266_SDK基础(5)智能插座_完整项目代码