求大师!!!

Mixii 2012-04-30 05:04:33
最近做毕业设计,用动软代码生成器生成DbHelperSQL.cs文件,生成网站是成功,但是在修改的时候就出现 用户代码未处理Exception 显示throw new Exception(ex.Message);第一行:throw new Exception(ex.Message);
代码如下:
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString">查询语句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message); //此句错误 }
return ds;
}
}
public static DataSet Query(string SQLString, int Times)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.SelectCommand.CommandTimeout = Times;
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
}
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1楼误人子弟。
必须将异常的详细信息写到log里,即用exception.ToString()方法,而不能用Message属性,那样没有错误堆栈信息。
可以一层层地向外抛异常,一直到ui层才显示给用户一个友好的出错信息,但那也不应该是异常的Message。
楼主的代码里throw new Exception(ex.Message);丢失了堆栈信息,是错误的做法。
sportboy03 2012-04-30
  • 打赏
  • 举报
回复
明显不是CATCH那块错误。已经出异常了,只是被CATCH捕获了
  • 打赏
  • 举报
回复
catch里面可以什么也不写,也可以 MessageBox.Show异常信息
暖枫无敌 2012-04-30
  • 打赏
  • 举报
回复
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message); //此句错误
}

你这里已经捕获到SqlException了,所以这个时候你需要做处理,比如提示信息等,而不能将异常再往外抛,因为找不到处理该异常的对象了。


打个比方,在学校里,你是班长,老师安排给你个任务,让你找个同学做一件事情,你找到一个同学,然后告诉他怎么怎么做,这个时候那个同学就是你这里捕获到的SqlException异常,这个同学需要处理了,去做这件事情,而不是这个同学再将这个事情再抛出去,因为没有其他同学来接,因为是分配给你的,必须由你来处理。


============》修改成

catch(Exception ex)
{
throw new Exception(ex.Message);
//
MessageBox.Show("出现异常:"+ex.Message);
}


即使这样层层将异常抛出,总得有人解决啊.

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧