1

我需要一些建议。

开始事务后有回滚时最好的做法是什么?

  • 执行网站的其余部分
  • 终止整个网站,并显示错误消息。

谢谢!

4

2 回答 2

0

这真的取决于你想做什么。

然而:

  • 您不想只是将原始错误消息放在用户面前,它应该是有意义的。
  • 有意义的信息应该与您页面的其余部分具有相同的外观和感觉,而不仅仅是带有黑色文字的白页。
  • 它应该包括某种导航,以便用户可以从错误中恢复。
  • 如果是表格,那用户大概会重试,那么尽可能多的数据应该还在表格中,以免重复工作。
于 2013-07-17T19:09:18.267 回答
0

这真的取决于为什么ROLLBACK发出 MySQL 语句。应用程序有一个发布它的理由,所以应用程序应该有一个用于该组条件的代码路径。

通常,当某些条件导致无法继续前进时,会调用 ROLLBACK。因此,这通常作为中止完成。“杀死整个网站”听起来有点激烈。如果此交易是某些用户交互的结果,礼貌的做法是向用户显示一条消息“您的请求遇到问题,请稍后再试。” (没有理由向用户显示堆栈跟踪。)

并且应用程序应该将错误情况的详细信息记录到日志中,包括用户身份和某种事务 ID、堆栈跟踪以及任何其他相关信息,以供分析。

于 2013-07-17T19:17:09.910 回答