asp.net – 试试Catch块没有捕获?
发布时间:2020-12-16 09:45:41 所属栏目:asp.Net 来源:网络整理
导读:我有一个简单的函数,它试图从Obout网格过滤器列中获取一个值,如果该值为空,则忽略它并继续.由于某种原因,此代码忽略了我的catch块,并在输入字符串为空时始终显示System.FormatException! 更奇怪的是,如果我使用visual studio的调试器并在该行上设置断点,cat
我有一个简单的函数,它试图从Obout网格过滤器列中获取一个值,如果该值为空,则忽略它并继续.由于某种原因,此代码忽略了我的catch块,并在输入字符串为空时始终显示System.FormatException!
更奇怪的是,如果我使用visual studio的调试器并在该行上设置断点,catch块正常运行(在我继续该行之后).我已经确认了我的Debug |例外|抛出时CLR不会被设置为捕获.我也在生产版本中确认了这种相同的行为. 'Get the month selected Dim MonthSelected As Integer Try MonthSelected = CInt(DateCreatedColumn.FilterCriteria.Value) Catch ex As Exception 'If value is empty / not a number reset the filter DateCreatedColumn.FilterCriteria.FilterExpression = String.Empty Return End Try 解决方法
我认为发生这种情况的原因是因为你不能将一个空值转换为Int,所以在catch有机会获得异常之前,转换失败了.
除此之外,我认为你需要重写这段代码.将Exception用作流量控制的一部分并不是一个好主意.例外是计算上昂贵的,并且只应在特殊情况下使用.根据定义,您可以计划和编制的案例并非例外.使用if语句来检查空值等,不要使用异常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 配置示例
- asp.net-mvc-3 – 带区域的MVC – Html.ActionLink返回错误
- asp.net – HTML divs可以在浏览器窗口之外?
- asp.net:runat =“server”和服务器控件之间的区别
- asp.net – 使用codebehind显示隐藏div
- asp.net-web-api – Web API ModelBinders – 如何以不同方
- 加速ASP.Net网站或应用程序
- asp.net – 在Windows 7笔记本电脑中找不到IIS_IUSRS组
- asp.net – 我应该花费我的努力实现knockoutjs或查看jQuery
- asp.net – 是否可以使用Membership API更改用户名
推荐文章
站长推荐
- asp.net-mvc – 如何在ASP.Net Identity上获取OW
- asp.net – 如何使用web.config文件保护页面?
- asp.net-mvc – 为什么被赋予NoValidate属性?
- asp.net – 从没有Html帮助器的表单传递数据
- asp.net – EntityFramework.dll中发生了’Syste
- asp.net-mvc – 实体框架包含OrderBy随机生成重复
- ASP.NET Page_Init被解雇了两次!
- 防止IIS卸载ASP.Net站点
- asp.net-mvc – Asp.net Mvc:Ninject – IPrinc
- asp.net-mvc – asp.net MVC扩展DataAnnotions
热点阅读