Use exceptions and cleanups