advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   TIP BANK
Browse DevX
In recent years, there have been several proposals to add the keyword finally to standard C++. Considering the inherent differences between Java and C++'s object models, as well as the ability to use destructors for deterministic cleanup code (as shown in this solution), do you think that the C++ standards committee should reject these proposals? Let us know in our C++ Forum.
Partners & Affiliates
advertisement
advertisement
advertisement
advertisement
 

Use Local Classes for Proper Cleanup in Exception-enabled Apps

While exceptions help with code reliability and data integrity, they can also complicate it. Proper cleanup is essential to making sure that your data is safe and that resources are always released. Learn how to use a local class's destructor to ensure the unconditional execution of cleanup code.  


advertisement
Exceptions enable you to detect and handle anomalous runtime conditions promptly. However, they also complicate the design of your program as they increase the number of possible execution paths. In most cases, implementing the "resource acquisition is initialization" idiom guarantees that data isn't destroyed and that resources are always released. However, this idiom isn't always an ideal solution. The following sections present a more refined technique for ensuring proper cleanup in an exception-enabled environment.


How do you ensure that critical cleanup code always executes regardless of whether an exception has occurred?


It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com.
Already a member?



advertisement