Im with  This requires some change to the article When reading a file its probably ok to do it like this   File ffootxt cout  freadLine  since I cant think of a case when the destructor could throw after a successful read Many resources can be released without the possibility of failure so this is how simple RAII is usually But the example writes to a file so it should be written like this   File fouttxt fwritehello fclose  In this case Python and Ruby blocks are in fact simpler because they handle release failure correctly and do not require an explicit close call  So what should be done to the article This issue needs to be covered better that much is certain It may not apply to D maybe Ds destructors can throw without causing abort when unwinding  I dont know Should the example use a scopedptr or read from a file to demonstrate the simple RAII case that requires no explicit close Ill probably change the article at some point