说说大家一般是怎么出来异常和捕获的。

zhanglong_longlong 2014-09-18 04:51:42
说说大家一般是怎么出来异常和捕获的。一般是在底层写和是UI层try,然后怎么处理的,欢迎大牛们提出各自的经验。有案例最好。
...全文
225 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
by_封爱 2014-09-19
  • 打赏
  • 举报
回复
BasePage:Page 重写onerror事件 跳转到我自定义的错误页面并且把错误信息insert到数据库中.. 从来不用什么log4的东西.所谓的记录日志最终不也是插入数据库嘛 一句SQL语句的事 非得搞一个日志框架...太麻烦呀
wubinyu0071 2014-09-19
  • 打赏
  • 举报
回复
try catch+日志(一般LOG4)+错误页面跳转
zhanglong_longlong 2014-09-19
  • 打赏
  • 举报
回复
楼上大牛们回到了很多不同的观点,学习了,欢迎继续拍砖
threenewbee 2014-09-18
  • 打赏
  • 举报
回复
基本原则: 如果出现异常会导致程序状态走向不可预知结果的,都必须抛出异常——这意味着,你应该用尽可能具体的异常去捕获,而不要catch System.Exception。如果异常来自捕获,并且你丢出自己的异常,用InnerException去包装原来的异常。 什么异常都不丢出的代码非常害人——难以调试,也相当不可靠。
  • 打赏
  • 举报
回复
异常用log4net 在上层记录,不再最底层记录
wyumening 2014-09-18
  • 打赏
  • 举报
回复
统一在global.asax中的Application_Error事件中处理,把出现的错误写入日志文件中
dongmusic 2014-09-18
  • 打赏
  • 举报
回复
惭愧啊,很少去写异常处理的代码。
moonwrite 2014-09-18
  • 打赏
  • 举报
回复
引用 8 楼 zhanglong_longlong 的回复:
引用 6 楼 q107770540 的回复:
让异常见鬼去吧
加菲猫大年,此话怎讲
就是尽可能考虑多的条件~不要有异常发生~ 以前只会在数据库访问的时候~异常处理~ 关闭链接啊~ 事务回滚啊~ 但现在用EF+using (TransactionScope scope = new TransactionScope()) 底层基本上很少要敲代码去处理异常拉~ 所以现在都是 UI成统一 log4net 把异常信息在globle 里有个Error方法导入到log4net里
zhanglong_longlong 2014-09-18
  • 打赏
  • 举报
回复
引用 6 楼 q107770540 的回复:
让异常见鬼去吧
加菲猫大年,此话怎讲
正宗熊猫哥 2014-09-18
  • 打赏
  • 举报
回复
try catch+日志(一般LOG4)+错误页面跳转
q107770540 2014-09-18
  • 打赏
  • 举报
回复
让异常见鬼去吧
qzyf1992 2014-09-18
  • 打赏
  • 举报
回复
log4net 把异常信息在globle 里有个Error方法导入到log4net里
fcylovehbb 2014-09-18
  • 打赏
  • 举报
回复
try、catch啊在catch里面返回特定的值,到前台根据特定的值来判断错误信息
  • 打赏
  • 举报
回复
前台占座。。分享经验什么的最喜欢了 500技术分一下无发言权
WM_JAWIN 2014-09-18
  • 打赏
  • 举报
回复
通常只处理已经知的错误。 try{ ,,, } catch(DataExcepetion ){ } 未知的一律不管,让上一层处理
hitliuhui 2014-09-18
  • 打赏
  • 举报
回复
throw操作或出现异常相当于goto catch。若没有catch操作,则异常会直接抛给上层函数。 内部使用函数的异常,可抛出,由引用类处理。可能公开别人使用的函数的异常,不能直接抛出,因抛出后,引用方不可控,没有捕获的导致会导致崩溃。 try-catch,try-catch-finally,try-finally,三种组合方式。try-finally用于保证return之前执行指定操作。 对于需要上级分类处理的异常向上抛出,否则直接通过返回值处理掉异常。例如若希望上层发现错误原因,则可以抛出异常,否则返回false告知错误即可。集合返回空集合。布尔值返回false。 类返回null。 尽量保证上层能够使用,没有异常的函数。业务层获得的异常应该转化为个人定义的异常,或者信息返回到ui层。ui层只负责根据返回情况进行界面操作。 try { try{ A代码段 ----会执行 throws new excepetion ----执行,然后跳转到异常捕获区。goto catch B代码段 ----永远不执行 }catch { C代码段 ----发生异常执行 throws new exception ----发生异常,执行,然后跳转到异常捕获区。goto catch或返回上一级 D代码段 ----永远不执行 } finally { E代码段 ----程序退出前,会执行。退出方式包括return、执行完、throws跳出函数 } F代码段 ----C、D之间不出现异常则执行。 }catch { G代码段 }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧