我已经解决了这个问题,我发布了。
对于疯狂调用的方法,是否可以区分原始的System.Exception(即throw ex;
)和新的异常(即。throw new Exception("Specific error", ex);
)或新的{{1} }?
ApplicationException
感谢。
答案 0 :(得分:1)
您可以指定要捕获的异常类型(请注意排序)。异常具有InnerException
属性,该属性可能包含导致当前异常的其他信息。
try
{
MethodThatBlowsUp();
}
catch (ApplicationException appex)
{
//handle
}
catch (Exception ex)
{
//handle
}
答案 1 :(得分:0)
结束使用:
public void InsertNewCar()
{
try
{
Car myCar = new Car();
myCar.Insert();
}
catch (Exception ex)
{
if (ex is ApplicationException)
alert("Something missing Msg");
else /* This is the original exception */
alert("Something wrong generic error");
}
public void Insert()
{
try
{
SqlHelper.ExecuteNonQuery(ConnString, CommandType.Text, sqlInsert);
}
catch (SqlException ex)
{
if (ex.Number == 515)
{
throw new ApplicationException("Missing something", ex);
}
else
{
throw ex;
}
}
}