A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 菇凉斋 中级黑马   /  2016-4-8 00:17  /  1074 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多个catch的应用场景,和try catch嵌套的应用场景?求解惑!!!!

评分

参与人数 2黑马币 +26 收起 理由
F305176 + 6 很给力!
minge123 + 20 赞一个!

查看全部评分

6 个回复

正序浏览
来学习        
回复 使用道具 举报
加油~~~~
回复 使用道具 举报
谢谢大神们解惑..非常感谢!!!!
回复 使用道具 举报
Try-Catch机制使用场景

(一)在什么场景下加Try-Catch机制




1)以业务逻辑功能为单位,在最上层加Try-Catch机制。为什么要这样做呢?这主要是增加程序的健壮性,防止因抛出异常过多,导致程序崩溃。

  try
{
   //业务逻辑功能
   //......
}
catch (Exception ex)
{
   //记录日志
   //......
}





2)底层代码,在可能出错的地方加Try-Catch机制,用Catch侦测具体的异常,然后就具体的异常,采取相应的解决方案。



try
{
    sent += sendSAEA.AcceptSocket.Send(buffer, sent, size - sent, SocketFlags.None);
}
catch (ObjectDisposedException ex)    //Socket 已关闭
{
    break;
}
catch (SocketException ex)
{
    //socket异常,等待后继续尝试发送
    Thread.Sleep(this.socketListenerSettings.MSDelayForNextSend);
}
catch (Exception ex)
{
    this.SaveLog("Send方法出错,错误描述为:" + ex.Message.ToString());
    break;
}





3)底层代码,在需异常追踪时加Try-Catch机制,在Catch块中抛出自定义异常,调试时可迅速定位到错误代码段。

try
{
    //底层代码
    //......
}
catch (Exception ex)
{
    throw new Exception("xxx方法出错,描述:" + ex.Message.ToString());
}
回复 使用道具 举报
上课不好好听
回复 使用道具 举报
一楼                        
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马