通常它不喜欢使用System.Exception,但我想知道这是否是我唯一的选择。在这种情况下使用System.Exception是否合适?
我有这样的情况下编辑
- 用户请求的任务。
- 如果全部都是良好的db任务行检索
- 然后提交该任务的更新并更新列以表明它已被锁定。
- 一些时区的东西被应用到这个任务将日期转换为本地时间。
- 任务显示给用户。
因此,如果在步骤1到步骤4之间发生任何事情,任务仍然很好,因为它没有锁定。但是,如果在步骤5中失败,并且我无法将任务显示给用户,则该文件将被锁定,并且会一直锁定,直到计划的作业运行,以确保锁定为long的文件被强制解锁。
这种情况并不理想,因为它可能会暂时失败,下一次他们请求文件时可能会再次运行。但是现在他们必须等待(与所有其他订户相同)X分钟,直到它自动解锁。
因此,我的第一个想法是使用最后的声明,但无论如何,这总是得到运行,所以我无法弄清楚如何说好文件现在被锁定,不要打开它解锁。
或者该文件被锁定,但出现问题解锁它。如果C#有一个只在发生异常时才运行的语句,那将会很好。
所以我唯一的想法是有一个异常,如果发生任何事情,它会在那里解锁它。唯一的情况是,如果它是一个SQl异常,因为如果数据库关闭,没有任何一点试图解锁某些东西。
当然,我会用elmah来记录错误并缓慢地添加更好的异常类型,因为它们会发生。
那么有没有人有更好的想法?
因为什么时候它不喜欢使用异常? – 2011-06-04 23:34:26
它不赞成有异常驱动你的逻辑,imo,而不是整体 – Marc 2011-06-04 23:38:31
@ Jean-Bernard Pellerin - 它不皱眉使用异常,但皱眉了总是使用“Exception()”的一切。 – chobo2 2011-06-04 23:39:53