考虑以下方法签名:
public static bool TryGetPolls(out List<Poll> polls, out string errorMessage)
该方法执行以下操作:
- 访问数据库以生成Poll对象列表。
- 如果成功,返回true,errorMessage将为空字符串。
- 如果失败,返回false,errorMessage将包含异常消息。
这是一个好的编程风格吗?
更新:
假设我使用以下方法签名:
public static List<Poll> GetPolls()
在那个方法中,它不会捕获任何异常(所以我依赖调用者来捕获异常)。如何处理并关闭在该方法范围内的所有对象?一旦抛出异常,关闭和处理方法中的对象的代码就无法访问。