{ Resource foo(path); if … { return -ENOMEM } return 0; }
{ Resource* foo = acquire(path); if … { release(foo); return -ENOMEM } release(foo); return 0; }
{ Resource* foo = acquire(path); int rc = 0; if … { rc = -ENOMEM goto out; } out: release(foo); return rc; }