主程序怎样接收调用类的错误

tanweish 2005-08-23 11:28:32
在设计中,有主程序、被调用的类,如数据库访问类,我想在访问数据时,如果出错,主程序中怎样才能读到数据访问类的错误,同时不堵塞主程序的运行?
...全文
108 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huguangwu 2005-08-24
  • 打赏
  • 举报
回复
同意 mapserver(杨东)

一般就是这两种解决方法 函数返回值或者用错误捕捉

如果用错误捕捉 3tzjq(永不言弃) 说得很清楚。

如果用返回值,可以类似这样


public int method(paramaterslist)
{
int result=0;
try
{
//try body
}
catch(Exception e)
{
result=1;
//...

}

return result;

}

调用时判断返回的值是0/1来决定错误与否
tanweish 2005-08-24
  • 打赏
  • 举报
回复
如果在类中用

catch(Exception ex)
{
throw ex;//再丢出或用messagebox弹之
}

在发生错误是会堵塞进程吗?

好像程序会停在那里等待错误处理
TechEye 2005-08-23
  • 打赏
  • 举报
回复
class DB
{

public void Update()
{
try
{

}
catch(Exception ex)
{
throw ex;//再丢出或用messagebox弹之
}

}


}
mapserver 2005-08-23
  • 打赏
  • 举报
回复
用函数的返回值,或者直接抛出错误。
3tzjq 2005-08-23
  • 打赏
  • 举报
回复
被调用的类用throw ...来抛出异常,在主程序中用try{...}catch(Exception){MessageBox.Show(....)}来捕获异常。
伴老思源 2005-08-23
  • 打赏
  • 举报
回复
再在调用该方法的页面中:
调用方法._XXX( out strMessage );
if( strMessage != "" ) Response.Write( strMessage );


这样就行了。
伴老思源 2005-08-23
  • 打赏
  • 举报
回复
搂主可以这样:
在类中
public void _XXX( out string strMessage )
try
{
_comm.Parameter.Add( "@Message", SqlDbType.nvarchar ).Direction = ParameterDirection.output;
_comm.ExecuteNonQuery();
strMessage = _comm.Parameter["@Message"].Value.Tostring();

}
catch( Exception Message )
{
strMessage = "发生数据库错,请于管理员联系
( "+ _FormatMessage( Message.Message.ToString() ) +" )";
}
tanweish 2005-08-23
  • 打赏
  • 举报
回复
如果在类中用

catch(Exception ex)
{
throw ex;//再丢出或用messagebox弹之
}

在发生错误是会堵塞进程吗?

110,533

社区成员

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

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

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