scope() and FileConduit (D1 and Tango)
    Jarrett Billingsley 
    jarrett.billingsley at gmail.com
       
    Fri Oct  3 15:08:00 PDT 2008
    
    
  
On Fri, Oct 3, 2008 at 4:57 PM, Nick Sabalausky <a at a.a> wrote:
> I'd like some clarification on the way scope() works, and also Tango's
> FileConduit. In the following function:
>
> void load(char[] infilename)
> {
>    auto file = new FileConduit(infilename);
>    scope(exit) file.close();
>
>    // Load data
> }
>
> What happens if infilename doesn't exist? Does FileConduit's constructor
> throw an exception? If so, file.close() isn't called, is it?
Yes, the ctor throws an exception.  No, file.close is never called.
scope statements are only executed if execution reaches them
successfully.
    
    
More information about the Digitalmars-d-learn
mailing list