一般什么时候用try catch呀???

能吃 2008-09-16 09:50:23
经理要我们检查一下代码,把应该加try catch的地方都加上

我觉得只把对库操作的地方加上try catch就可以了吧?还有什么地方需要加吗?

看看大家的意见,提醒我一下,谢谢
...全文
777 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
huang2005 2008-09-16
  • 打赏
  • 举报
回复
当然是把可能抛出异常的代码放到 try中,在catch中捕捉异常啦。
很多函数都会抛异常的,例如CFile的很多成员函数,数据库操作的函数等,对于这些抛异常的函数,就应该用try catch来弄
XPingguo 2008-09-16
  • 打赏
  • 举报
回复
最外层有个try
自已throw的异常,就显示,
其它异常,提示错误,详细错误写到日志里

毕竟有些异常自已都忽略掉了的。
brallow 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 z80_robin 的回复:]
引用 7 楼 phy 的回复:
请参考一下几条原则(注意“灵活”)

几条建议:
  ☆ 如果无法处理某个异常,那就不要捕获它。
  ☆ 如果捕获了一个异常,请不要胡乱处理它。
  ☆ 尽量在靠近异常被抛出的地方捕获异常。
  ☆ 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出。
  ☆ 按照您的异常处理必须多精细来构造您的方法。
  ☆ 需要用几种类型的异常就用几种,尤其是对于应用程序异常。…
[/Quote]

PS:这玩意儿抄的……老早就出来了。
brallow 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 z80_robin 的回复:]
引用 7 楼 phy 的回复:
请参考一下几条原则(注意“灵活”)

几条建议:
  ☆ 如果无法处理某个异常,那就不要捕获它。
  ☆ 如果捕获了一个异常,请不要胡乱处理它。
  ☆ 尽量在靠近异常被抛出的地方捕获异常。
  ☆ 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出。
  ☆ 按照您的异常处理必须多精细来构造您的方法。
  ☆ 需要用几种类型的异常就用几种,尤其是对于应用程序异常。…
[/Quote]

如果你的程序不是对效率苛求得过分,我建议你宁可多使用一些异常也是好的。
注意:我说的多使用的意思不是让你全部trycatch起来,然后catch(Exception e)把所有的异常都屏蔽了;而是暂时不考虑trycatch可能带来的效率上的损失,而注重程序的稳定性。
至于如何优化trycatch的使用,慢慢来。就我个人的使用而言,影响其实不是很大。
clongge 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 phy 的回复:]
请参考一下几条原则(注意“灵活”)

几条建议:
  ☆ 如果无法处理某个异常,那就不要捕获它。
  ☆ 如果捕获了一个异常,请不要胡乱处理它。
  ☆ 尽量在靠近异常被抛出的地方捕获异常。
  ☆ 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出。
  ☆ 按照您的异常处理必须多精细来构造您的方法。
  ☆ 需要用几种类型的异常就用几种,尤其是对于应用程序异常。
  ☆ 把低层次的异常…
[/Quote]
进来学习了...虽然经常用到,但基本上都是用个Exception来捕获异常。其他的不会用,也不知道怎么用,什么时候用~~
Micao_tong 2008-09-16
  • 打赏
  • 举报
回复
try塊[]
是可能出現異常的代碼()
catch塊
是處理異常的代碼。
lemonzx2008 2008-09-16
  • 打赏
  • 举报
回复
有数学运算和数据库、文件操作或者通信和地方加上就可以了吧,没必要太多吧
能吃 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 phy 的回复:]
请参考一下几条原则(注意“灵活”)

几条建议:
  ☆ 如果无法处理某个异常,那就不要捕获它。
  ☆ 如果捕获了一个异常,请不要胡乱处理它。
  ☆ 尽量在靠近异常被抛出的地方捕获异常。
  ☆ 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出。
  ☆ 按照您的异常处理必须多精细来构造您的方法。
  ☆ 需要用几种类型的异常就用几种,尤其是对于应用程序异常。
  ☆ 把低层次的异常…
[/Quote]
大哥你太专业了,但我还是想知道,每个地方都加会不会有什么不好,比较说影响性能吗???
brallow 2008-09-16
  • 打赏
  • 举报
回复
请参考一下几条原则(注意“灵活”)

几条建议:
  ☆ 如果无法处理某个异常,那就不要捕获它。
  ☆ 如果捕获了一个异常,请不要胡乱处理它。
  ☆ 尽量在靠近异常被抛出的地方捕获异常。
  ☆ 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出。
  ☆ 按照您的异常处理必须多精细来构造您的方法。
  ☆ 需要用几种类型的异常就用几种,尤其是对于应用程序异常。
  ☆ 把低层次的异常封装成层次较高程序员较容易理解的异常。
  ☆ 尽量输出造成异常的完整数据
  ☆ 尽量捕获具有特定含义的异常:比如SqlException,而不是简单地捕获一个Exception。

能吃 2008-09-16
  • 打赏
  • 举报
回复
我怎么觉得应该每个函数体都应该加那!!!!!!!!!!!!!!!!!!!!


我全加行不行呀,影响什么吗?
jornchangzheng 2008-09-16
  • 打赏
  • 举报
回复
在你觉得有可能出错,或者这块不太稳定的时候加上
cbyvft 2008-09-16
  • 打赏
  • 举报
回复
我很少用那个

不过要规范化写程序 很多地方要用到
就例如你写ADO.NET代码的时候

打开连接对象那里就需要try catch 虽然你的代码没错 但是你的数据库服务器没开 照样会有问题

向这些地方就需要咯
ZengHD 2008-09-16
  • 打赏
  • 举报
回复
你应该问,什么情况下不使用try catch
Aden 2008-09-16
  • 打赏
  • 举报
回复
最外围调用
LQknife 2008-09-16
  • 打赏
  • 举报
回复
数据库操作
文件操作
网络通信操作
。。。。。。

62,242

社区成员

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

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

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

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