为什么代码里要用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... 呢?相关推荐

  1. C++中try/catch/throw的使用

    C++异常是指在程序运行时发生的反常行为,这些行为超出了函数正常功能的范围.当程序的某部分检测到一个它无法处理的问题时,需要用到异常处理.异常提供了一种转移程序控制权的方式.C++异常处理涉及到三个关 ...

  2. 前端try catch是如何捕获异常的_一文告诉你如何优雅处理前端异常?

    前端一直是距离用户最近的一层,随着产品的日益完善,我们会更加注重用户体验,而前端异常却如鲠在喉,甚是烦人. 一.为什么要处理异常? 异常是不可控的,会影响最终的呈现结果,但是我们有充分的理由去做这样的 ...

  3. C#是否该支持“try/catch/else”语法

    以前用过一段时间Python,里面有个try/catch/else语法,我觉得挺好用,这个语法形如下: try:print('try...')r = 10 / int('2')print('resul ...

  4. aspx页面使用ajax遇到try catch中使用Response.End()报错

    1.使用Ajax接收数据,在返回Response.Write()后应该调用Response.End()才能将数据写入到调用的页面,才能被jQuery的回调函数获取到返回的JSON数据 2.在try-- ...

  5. (转)java 中的try catch finally 语句中含有return语句的执行情况(总结版)

    原处:http://blog.csdn.net/ns_code/article/details/17485221 在这里看到了try catch finally块中含有return语句时程序执行的几种 ...

  6. 异常处理机制(Begin try Begin Catch)

    begin try--SQL end trybegin catch --sql (处理出错动作)end catch 我们将可能会出错的sql 写在begin try...end try 之间,若出错, ...

  7. Matlab编程与数据类型 -- 出错处理语句try/catch/end

    本微信图文详细介绍了Matlab中try/catch/end出错处理语句.

  8. 为什么不建议用try catch处理异常?

    欢迎关注方志朋的博客,回复"666"获面试宝典 背景 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量 ...

  9. 不要再满屏写 try...catch 了!这个更香!

    点击关注公众号,Java干货及时送达 来源:www.toutiao.com/i6878184496945070604 前言 软件开发springboot项目过程中,不可避免的需要处理各种异常,spri ...

  10. 公司这套架构统一处理 try...catch 这么香,求求你不要再满屏写了,再发现扣绩效!...

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:小李子说程序 www.toutiao.com/i68 ...

最新文章

  1. .net安装_无需安装Python,就可以在.NET里调用Python库
  2. Python-数学篇之计算方法的目录:
  3. sap scc4 客户端设置
  4. 为何小程序上线了,他们的内心却留下遗憾?
  5. Laravel 超好用代码提示工具 Laravel IDE Helper
  6. CentOS7安装PostgreSQL10,pgadmin4
  7. php 处理vue上传图片 base64_encode file_put_contents file_get_contents
  8. 我毕业一年后。生活的艰辛。我的程序人生该怎么走
  9. 从周鼎看如何当好研究生
  10. 《富爸爸穷爸爸 》 读书笔记
  11. 水星pppoe连接服务器无响应,利用水星路由器系统日志解决PPPOE拨号故障
  12. 解散群通知怎么写_家人微信群想解散通知怎么写
  13. 朴素贝叶斯算法原理以及python实现
  14. 上海亚商投顾:两市震荡引分化 汽车产业链获青睐
  15. input输入框输满3个字符自动跳到下一个input输入框
  16. 用Xlsx xlsx-style 导出excel表格,附带合并单元格,文字居中,文字颜色字体大小等样式 (复制即可实现)
  17. C语言中static与extern用法总结
  18. HTML+CSS网页设计期末课程大作——校园篮球网页(12页) 关于运动的HTML网页设计-----篮球
  19. OSChina 周六乱弹 ——请让我的灵魂最后一次燃烧
  20. 在硅谷,人生的可能性不只有 996

热门文章

  1. 高效万进制——蓝桥杯|HDOJ 1002 大数加法——30行代码AC
  2. Linux-网络配置
  3. 数据结构学习-二维数组与稀疏数组转换
  4. Python程序开发——Python实现可增删改查的员工管理系统
  5. html flash 循环播放,在网页中插入flv格式的flash视频怎么让其循环播放_html/css_WEB-ITnose...
  6. php5.6 event,php安装event扩展
  7. 给Win7光盘添加PE3.0
  8. Java如何校验中文乱码_java如何判断是否中文乱码
  9. 电脑测速软件_iPerf3 搭建局域网内部测速环境
  10. esp8266 php 接口,ESP8266_SDK基础(5)智能插座_完整项目代码