【发布时间】:2010-10-10 19:16:13
【问题描述】:
如果我有一个返回某些东西的方法,比如
public DataTable ReturnSomething()
{
try
{
//logic here
return ds.Tables[0];
}
catch (Exception e)
{
ErrorString=e.Message;
}
}
这会产生编译器错误,显然是因为catch{} 块没有返回任何内容。
所以当我有返回值的方法时,我不使用 try-catch 块,这是一种不好的做法。如果有错误,我想将错误字符串设置为该错误。但是我也需要一个返回值。建议?
【问题讨论】:
-
“所以当我有返回值的方法时,我不使用 try-catch 块,这是一种不好的做法。”谁说的?大多数方法返回值而不被包装在 try 块中。
-
被打败了20秒!确实,正是我要说的;如果有异常——除非你期望它并且可以做一些有用的事情,让它冒泡给调用者。
-
吞下异常是真正的问题。
标签: c# error-handling