Comments (1)
Editors call: Definitely use RAII and have destructors release resources, and definitely follow that destructors cannot fail (don't let destructors throw an exception). If the resource release could return error information of potential interest to the caller, provide a separate Close
function that such a caller can call before destruction if they want to see the error. Alternatively, have the destructor put the resource that couldn't be closed into a list that can be looked at later for cleanup, and return normally. Alternatively, let the caller register an error handler with the object, and if there is a problem in the destructor the destructor can inform the caller by notifying the error handler and return normally.
from cppcoreguidelines.
Related Issues (20)
- Sss
- Practice HOT 1
- #include HOT 1
- How to refer to the guidelines, bibtex preferred? HOT 3
- I.2: Avoid non-const global variables, but exempt "file scope" from this rule HOT 2
- C++ Core Guidelines Markdown to HTML HOT 1
- Why isn't the exception safety mentioned in the Reason of R.22? HOT 4
- C++ Core Guidelines Markdown explicit anchor links not working (updated the 20/05/2024)
- Doesn't the title of ES.3 break that very guideline itself? HOT 2
- Section E.27 HOT 1
- Ceil Function in Cpp HOT 3
- Namespace guidelines HOT 2
- Clarify ES.23: Prefer the {}-initializer syntax HOT 1
- Should ES.23 mention that ()-initialization is likely to be preferrable when dealing with containers containing types initializable from the container itself HOT 3
- Exception to ES.63 for base type without any data member HOT 1
- Discourage implicit casting from/to void pointer HOT 1
- Should SF.7 avoid to limit its applicability to when the directive is at global scope?
- the links in I: Interfaces are all broken HOT 1
- gsl::span UB if used over containers of non-implicit lifetime types? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cppcoreguidelines.