如:
public static int XXX(string name)
{
try
{
i = Convert.ToInt32(
SqlHelper.ExecuteScalar(SqlHelper.ConnectionString, System.Data.CommandType.StoredProcedure, "xxx", new SqlParameter("@name", name))
);
}
catch (Exception ex)
{
throw ex;
}
return i;
}
还是在业务层去捕获?
当然有.捕捉异常并不是只能用在发生操作异常的时候,你完全可以自己定义异常来让try catch 捕捉。并再次throw,让应用层去捕捉。
最够所有捕捉的异常都要在web应用层用友好的形式体现,便于测试人员确定问题,或客户体验不会觉得你的程序bug很多。
放在业务层比较妥当。但是如果是团队开发,一定要协调好,否则都没catch,就把直接错误丢给用户了。如果放在数据层,调试起来是很累人的。
感觉无论那个层都需要Try catch, 如果是界面层catch则是把异常显示出来,
底层的catch一般用来做异常记录,一个系统,不可能没有问题,问题出现你怎记录呢..这就需要在底层的catch记录,然后throw到上一层
@风浪: 说的不错,我有个问题想请教你!
因为我做的后台,使用的是WCF服务,但是也分很多层,有Business,DAL层,那我的的try catch应该加在哪边,catch里面我是做日志记录的!
是加到WCF方法中吗?