怎样使程序发生异常时不弹出带红叉的窗口,异常可采用日志文件记录?

zxd000 2003-09-12 01:24:04
怎样使程序发生异常时不弹出带红叉的窗口,异常可采用日志文件记录?
...全文
51 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
白掌柜 2003-09-12
  • 打赏
  • 举报
回复
建议截取二次异常
try
{

}
catch( SqlException SqlEx )
{
throw;
}
catch ( Exception Ex )
{
throw;
}
zxd000 2003-09-12
  • 打赏
  • 举报
回复
已经解决了,谢谢大家!
brightheroes 2003-09-12
  • 打赏
  • 举报
回复
弹出的对话框的信息是什么,老大?
zxd000 2003-09-12
  • 打赏
  • 举报
回复
还是不行。因为SQL命令是由用户输入的,
用户的SQL命令不一定正确,我只是想不要
每次都弹出错误框,只在状态栏提示一下。
brightheroes 2003-09-12
  • 打赏
  • 举报
回复
连接如果能够打开,并且sql语句没有问题的话,不应该有异常的
比如说连接
public void setConnectionOpen()
{
try
{
con.open();
}
catch(SqlException ex)
{
throw ex
}
}

这个是必须要的,因为没有这个,异常就传不出来了(如果是因为打开连接导致的异常)
zxd000 2003-09-12
  • 打赏
  • 举报
回复
连接已经打开。我的代码是写在一个函数中,另外一个过程来调用它,
是不是与这种调用有关?
brightheroes 2003-09-12
  • 打赏
  • 举报
回复
con是否处于open状态?
try
{
con.open();
sc.ExecuteNonQuery();
}
catch (SqlException e)
{
textBox1.AppendText(e.Message+"\r\n");
}
finnally
{
con.close();
}


zxd000 2003-09-12
  • 打赏
  • 举报
回复
一个很普通的数据库命令,比如SQL串拼错了,系统报异常:
SqlCommand sc=new SqlCommand("select top 1 from aaa ",con);
try
{
sc.ExecuteNonQuery();
}
catch (SqlException e)
{
textBox1.AppendText(e.Message+"\r\n");
}
hikele 2003-09-12
  • 打赏
  • 举报
回复
gz
up
brightheroes 2003-09-12
  • 打赏
  • 举报
回复
楼主肯定是没有一层层的抛出异常,show code
brightheroes 2003-09-12
  • 打赏
  • 举报
回复
楼主肯定是没有一层层的抛出异常,show code
hikele 2003-09-12
  • 打赏
  • 举报
回复
gz
up
雪狼1234567 2003-09-12
  • 打赏
  • 举报
回复
try...cathc异常处理,不过不能用太多,因为开销很大
brightheroes 2003-09-12
  • 打赏
  • 举报
回复
异常的处理要一层一层抛出,然后在表示层处理,最精致的处理是定义自己的异常然后抛给用户

一个优秀的程序是不会出现未处理的异常的
zxd000 2003-09-12
  • 打赏
  • 举报
回复
我是这样写的,但软件仍弹出异常窗口?
rouser 2003-09-12
  • 打赏
  • 举报
回复
try
{
//可以引起異常的語句
}
catch(Exception ee)
{
//寫日志即可
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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