为什么代码里要用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. 数据库常考面试知识点
  2. String、StringBuilder、StringBuffer三者执行效率
  3. ps、grep和kill联合使用杀掉进程
  4. spring mvc学习(25):Eclipse设置代码自动提示
  5. Linux环境变量详解
  6. 跨过山和大海的地铁外放党们有人管了,明年开始!网友:没收手机么?
  7. 圆柱与平面接触宽度_好烦!这个建筑高大斜圆柱真难施工!别怕!学会这种工法就不难了...
  8. 扁平化设计的几个规律
  9. 超级计算机 500,191台超算500强排名分布区间:前百强4台,前两百强31台
  10. CentOS7下Tomcat启动慢的原因及解决方案
  11. 图:乐清市首届民工艺术节闭幕式暨才艺表演决赛圆满结束_渤锐软件提供了【评委打分公开展示】技术支持
  12. Windows网络编程之send()函数
  13. R语言安装NLP自然语言分析包
  14. Could not find method on interface org.apache.ibatis.executor.statement.StatementHandler named prepa
  15. FTL介绍 -- FTL映射
  16. 二值图像连通区域标记
  17. 未来十年: 机器编程会取代程序员吗?
  18. js的间隔调用和延迟调用
  19. java注解约束参数为固定值_Java学习 使用注解将参数的值限定
  20. 【论文解读】NAACL 2021 对比自监督学习的上下文和一般句子表征:以篇章关系分析为例

热门文章

  1. hdu 4302 STL multiset
  2. 【简单易懂】getBean(id)和getBean(Class)使用的区别
  3. Java与C、C++的区别
  4. datatable 查询_2020年浙江注册会计师成绩查询预告
  5. mysql数据库五大对象_数据库的三大范式以及五大约束
  6. python sklearn 梯度下降法_(四)梯度下降法及其python实现
  7. oracle查看数据库剩余空间,Oracle 查看数据库空间使用情况
  8. beats耳机用安卓手机影响音效么_感受清晰细腻音质,实用有线入耳式耳机推荐...
  9. 不同品牌的内存条可以混用吗_混用不同品牌护肤品的技巧
  10. 泸州计算机专业学院,泸州计算机专业中职推荐