外围代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
BLL bl = new BLL();
bl.GetEmployee();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
代码1:
BLL类中
public void GetEmployee()
{
DAL da = new DAL();
try
{
da.GetEmp();
}
catch (Exception ex )
{
throw ex;
}
代码2:
BLL类中
public void GetEmployee()
{
DAL da = new DAL();
try
{
da.GetEmp();
}
catch (Exception )
{
throw ;
}
}
代码2等同于没有做异常处理,代码2最好不使用异常处理。
代码1和代码2的区别:外围代码调用了代码1后,ex的StackTrace中的信息,只能拿到BLL以及BLL之后的堆栈信息,即代码1执行后,将抛弃其被调用之前的堆栈信息。而代码2则将保留完整的堆栈信息。