是不是可以先定义自己所需的异常,再在try块里throw自己的异常,catch捉它。没有定义得就会用其父类中的异常。
解决方案 »
- gridviw中显示的图片字段,转化成图片导出到excel中怎么处理
- 怎样将从数据库取出的DataSet数据集最开始用代码添加一行记录?
- 问一个datalist控件的问题!高分
- 求一简单存储过程用ASP。NET连oracle数据库(能执行,马上结帐)
- 如何在.net当中实现Access数据库的备份与还原?
- CheckBoxList控件,如何读取它的选定内容?(在线..。急!!!)
- 谁有视频点播代码啊???救命啊!!!在线等!!!
- 关于在课件项目中应用XML的问题,回复心得或相关链接都有赠分
- datagrid中的updatecommand
- 关于用外部网页改成asp.net的问题!
- 微软专家在线聊天--怎样在.NET Framework中使用DataGrid Control--纪录
- 在datagrid中如何触发模板列的事件
若不写则会提示在C类中发生异常。
A
B : A
C : B在C中抛出异常,如果在C中没有try catch块,则向上寻找B中的try catch块,没找到的话则继续向上在A中寻找。
catch{}
拉,还是在父类抛出异常,大家帮我分析一下可以吗
try
{
trainplan.DeleteTrainPlan(strid);
}
catch(System.Data.SqlClient.SqlException erro)
{
Response.Write("<script>alert('培训计划已经启动,不能删除')</script>");
}//trainplan的一个方法
public void DeleteTrainPlan(string strid)
{
//删除计划
int intRows;
string strsql="delete from trainplan where trainplan_id='"+ strid +"'";
intRows=ExecuteSql(strsql);
}
//父类
protected static int ExecuteSql(string strSql)
{
//执行正增加,删除,修改操作
SqlConnection conn=new SqlConnection(strConn);
SqlCommand cmd=new SqlCommand(strSql,conn);
try
{
conn.Open();
int row=cmd.ExecuteNonQuery();
return row;
}
catch(System.Data.SqlClient.SqlException er)
{
throw new Exception(er.Message);
}
finally
{
cmd.Dispose();
conn.Close();
} }
在这个方法里没有捉的异常会throw一个普通异常!
可以这样子:
try
{
conn.Open();
int row=cmd.ExecuteNonQuery();
return row;
}
catch(System.Data.SqlClient.SqlException er)
{
throw new Exception(er.Message);
}
catch(Exception ex)
{
return ;//捉普通的异常,不作任何处理,返回,当然也可以doign something.或是多个catch.
}
finally
{
cmd.Dispose();
conn.Close();
}