我想从最底层抛出异常,在UI层捕获,请教该怎么抛异常?//最底层的A方法
public void A()
{
try
{
……
}
catch
{
throw;
}
} //中间层的B方法
public void B()
{
try
{
A();
……
}
catch
{
throw;
}
} //UI层的C方法
public void C()
{
try
{
B();
……
}
catch
{
//用户提示或是其他的操作
}
}
我这样做为什么不行?请问应该怎么做?谢了。
public void A()
{
try
{
……
}
catch
{
throw;
}
} //中间层的B方法
public void B()
{
try
{
A();
……
}
catch
{
throw;
}
} //UI层的C方法
public void C()
{
try
{
B();
……
}
catch
{
//用户提示或是其他的操作
}
}
我这样做为什么不行?请问应该怎么做?谢了。
解决方案 »
- 错误代码: 检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败
- rgb转argb的问题,要求效率。
- 哪里有免费的像这样(或更好的)的完整论坛代码:http://www.objectarx.net/bbs/forumdisplay.php?fid=6,我想练习
- c# 怎么查看最后执行的sql语句
- 对Grid中的数据进行排序后,并显示排名?????
- txt文档存多了,就有乱码,怎么解决?
- 求winform下的所见所得的编辑器
- 200分求教,C#读写EXCEL的问题
- .NET 热爱者加入QQ群19009132
- 如何像暴风影音那样打开新文件而不打开新窗口
- C# 用vss 随便怎么操作都迁出解决方案 怎么处理
- 正则匹配HTML
另外这样catch{}是不能得到异常信息的。
public void C()
{
try
{
B();
……
}
catch(Exception e)
{
//用户提示或是其他的操作
}
}
public void A()
{
try
{
……
}
catch
{
throw new Exception("最底层的A方法 异常")
}
} //中间层的B方法
public void B()
{
try
{
A();
……
}
catch
{
throw new Exception("中间层的B方法 异常") }
} //UI层的C方法
public void C()
{
try
{
B();
……
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
//用户提示或是其他的操作
}
}
请看MSDN!问题解决了,我的这种方法是能抛出的,问题出现的原因错误(我的程序是多线程的,主次线程异常不能传递抛出)
感谢大家的回答。
结!