当前位置: 首页 > news >正文

电脑软件下载官方网站微商货源类网站源码

电脑软件下载官方网站,微商货源类网站源码,连锁餐饮网站开发背景内容,张槎网站建设点击上方“dotNET全栈开发”#xff0c;“设为星标”加“星标★”#xff0c;每天11.50#xff0c;好文必达全文约1600字#xff0c;预计阅读时间3分钟这个n到底是多少年#xff1f;宇宙第一开发IDE Visual Studio的调试功能非常强大#xff0c;平常工作debug帮助我们解决… 点击上方“dotNET全栈开发”“设为星标”加“星标★”每天11.50好文必达全文约1600字预计阅读时间3分钟这个n到底是多少年宇宙第一开发IDE Visual Studio的调试功能非常强大平常工作debug帮助我们解决不少问题。今天分享两个异常捕获的技巧希望能够帮助解决一些问题。以下两种情况我相信大家都会遇到过。1.没有使用Try-Catch语句当异常发生的时候能够自动跳转到异常发生的地方在使用Try-Catch捕获异常的时候直接跳转到Catch语句的位置并不会自动定位到异常代码的位置。2.使用Try-Catch的时候多层方法调用时并不能直接查看到异常代码的位置。技巧1自动定位到异常代码位置针对问题1我们最想要的结果是哪里有代码出现错误了就直接定位到哪儿异常出在哪行代码上我一眼就能看得出这样就能更快地处理问题了。对于问题1所出现的这种情况简单复现一下一个空引用的异常namespace ExceptionSample {class Program{static void Main(string[] args){try{Random random null;Console.WriteLine(random.Next());}catch (Exception ex){Console.WriteLine(ex);}Console.ReadLine();}} } 上面的异常代码NullReferrenceExceptionDebug模式下会跳转到catch语句这里。你可能觉得这挺简单的......可实际实际工作中你的一个方法中仅仅只这一个对象吗在实际工作中可能不止random一个对象代码复杂对象够多几十个也有我们就很难定位到异常出错的代码了。StackTrace可以定位到那个函数调用错了并不能定位到哪一行代码出错了。为了解决这个行为可以通过在Visual Studio中菜单栏中的调试》窗口》异常设置中去配置。如下图所示勾选上Common Language Runtime Exceptions下列的异常单选框。有点多以前的设置有些变化。现在我们再看之前的代码使用Try-Catch语句捕获异常的时候就会直接定位到异常代码的位置了如下图示 static void Main(string[] args){try{Random random null;Random random1 new Random();Random random2 new Random();Random random3 new Random();Console.WriteLine(random1.Next());Console.WriteLine(random2.Next());Console.WriteLine(random3.Next());Console.WriteLine(random.Next());}catch (Exception ex){Console.WriteLine(ex);}Console.ReadLine();} 在这里插入图片描述技巧2正常的throw 姿势还是之前的一个方法我已经将异常设置回复默认了。 static void Main(string[] args){try{Random random null;Console.WriteLine(random.Next());}catch (Exception ex){System.Diagnostics.Debug.Write(ex);throw ex;}} 我们再输出中可以看到ps项目名称用的之前的不介意哈错误的代码在16行。可实际工作中的情况并不是这样简单基本上是A方法调用B方法B方法调用C方法代码如下所示在Main方法中调用ThrowNullReferrence()方法ThrowNullReferrence中调用SetNullReferrence()。代码变复杂后一层嵌套一层。这个时候能正确显示出代码异常的位置吗 static void Main(string[] args){try{ThrowNullReferrence();}catch (Exception ex){System.Diagnostics.Debug.Write(ex);throw ex;}}public static void ThrowNullReferrence(){try{SetNullReferrence();}catch (Exception ex){System.Diagnostics.Debug.Write(ex);throw ex;}}public static void SetNullReferrence(){try {Random random null;Console.WriteLine(random.Next());}catch(Exception ex){System.Diagnostics.Debug.Write(ex);throw ex;}} 我们可以通过下图看到:System.NullReferenceException: 未将对象引用设置到对象的实例。在 ExceptionSample.Program.SetNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 39System.NullReferenceException: 未将对象引用设置到对象的实例。在 ExceptionSample.Program.SetNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 44 在 ExceptionSample.Program.ThrowNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 27System.NullReferenceException: 未将对象引用设置到对象的实例。在 ExceptionSample.Program.ThrowNullReferrence() 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 32 在 ExceptionSample.Program.Main(String[] args) 位置 D:\Learn\延迟加载\LinqLayzLoad\LinqLayzLoad\Program.cs:行号 15错误代码的位置在39行以上出现异常的地方都是throw的位置。原因呢catch捕获完后如果要向上抛出应该重新实例化一个新的异常对象再向上抛出这个最外层方法catch到的才是完整的异常当然也包括完整的堆栈信息这样才能定位到异常代码的位置。要使用 throw new Exception 改造后的例子如图精准定位到 39行的空引用异常Console.WriteLine(random.Next());结语分享之前看到的一个老程序员的经验之谈“多coding少debug”, 回到标题为什么说使用Vistual Studio n年这个n到底指的是多少年。我的意思是可能有些东西即使使用多年可能不知道这两个技巧。
http://www.zqtcl.cn/news/945182/

相关文章:

  • 网站建设技术外包西安推荐企业网站制作平台
  • 建立一个做笔记的网站石家庄网站优化
  • 服务器创建多个网站吗中铁雄安建设有限公司网站
  • 建湖建网站的公司网站建设人工费
  • 沈阳公司网站设计公司怎么投放广告
  • 上海哪家做网站关键词排名如何做简洁网站设计
  • 网站维护的内容seo网站关键词优化哪家好
  • 东阳市网站建设西安做网站选哪家公司
  • 宁津网站开发万能应用商店下载
  • 专业制作标书网站地图优化
  • 广州建网站兴田德润团队什么是网络营销详细点
  • win7建网站教程wordpress chrome插件开发
  • 免费行情软件网站下载视频公司介绍ppt制作模板
  • wordpress快速建站wordpress短代码可视化
  • 餐饮型网站开发比较好看的网页设计
  • 网站管理包括潍坊网站建设优化
  • 南开集团网站建设网站服务器搭建
  • 网络的最基本定义泰安seo网络公司
  • 国外比较好的资源网站请人做外贸网站应注意什么问题
  • 人网站设计与制作什么是销售型网站
  • 最简单网站开发软件有哪些企业电子商务网站建设问题
  • 玉林网站制作简单的网站制作代码
  • 滨州建设厅网站长沙好的做网站品牌
  • 教务系统网站建设模板下载为网站开发
  • 成都市建设招标网站加载wordpress外部文件
  • 网站做兼容处理怎么浙江seo博客
  • 设计商城的网站建设电商网站建设与管理实践
  • 怎样建一个英文网站制作视频的手机软件
  • 昆明做网站费用被骗去国外做网站网站推广
  • 京东商城网站怎么做静态网页有什么特点