数据库事务的 ACID 属性中的 A 原子性表明,在数据库上执行的每个事务都类似于二进制数系统,0 或 1,全有或全无。
是否有可能在 Java 或 C# 等编程语言或任何其他通用语言中实现相同的目标?例如
public static Ticket GetTicket(string filePath) {
counter++;
Application app = new Application(filePath);
.
.
.
可能,我举了一个不好的例子,但我相信这应该足以给出一个想法。现在,想象一下,如果我创建Application
对象的行抛出异常,那么应用程序的执行将停止,静态变量的状态counter
已经发生了变化,系统的状态也发生了变化。有没有办法防止在抛出异常之前执行的语句造成损害?