Message 97
Re: 15-721: Assignment 3, destructors and error handling
X-Added: With Flames (bblib $Revision: 1.4 $)
Return-path: <spapadim+@cs.cmu.edu>
X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail
Received: from po0.andrew.cmu.edu via trymail for bb+academic.cs.15-721@andrew.cmu.edu
ID </afs/andrew.cmu.edu/usr0/bb/Mailbox/Uvp5EMK00UdY4iY04=>;
Mon, 22 Oct 2001 13:15:04 -0400 (EDT)
Received: from mx3.andrew.cmu.edu (MX3.ANDREW.CMU.EDU [128.2.10.113])
by po0.andrew.cmu.edu (8.9.3/8.9.3) with ESMTP id NAA11916
for <bb+academic.cs.15-721@ams.andrew.cmu.edu>; Mon, 22 Oct 2001 13:15:03 -0400 (EDT)
Received: from iluvatar.dhs.org (pool-151-201-19-40.pitt.east.verizon.net [151.201.19.40])
by mx3.andrew.cmu.edu (8.12.0.Beta16/8.12.0.Beta16) with ESMTP id f9MHF2bT010715
for <bb+academic.cs.15-721@andrew.cmu.edu>; Mon, 22 Oct 2001 13:15:02 -0400
Received: from cs.cmu.edu (iluvatar.hobbiton.cmu.edu [192.168.0.2])
by iluvatar.dhs.org (Postfix) with ESMTP
id D83082051F; Mon, 22 Oct 2001 13:15:02 -0400 (EDT)
Message-ID: <3BD45416.4000700@cs.cmu.edu>
Date: Mon, 22 Oct 2001 13:15:02 -0400
From: Spiros Papadimitriou <spapadim+@cs.cmu.edu>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.5) Gecko/20011012
X-Accept-Language: en-us
MIME-Version: 1.0
To: Bartosz Przydatek <bartosz@cs.cmu.edu>
Cc: bb+academic.cs.15-721@andrew.cmu.edu
Subject: Re: 15-721: Assignment 3, destructors and error handling
References: <Pine.LNX.3.95L.1011022110527.10080J-100000@ux10.sp.cs.cmu.edu>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
>
>
>1. What should descructors ~indexNestedLoop() and ~sortMerge() do?
>
> [...]
>
Yes, you are right (they basically do nothing). Everything is done as a
side-effect of object construction (which might be a slightly...
unconvetional method :-).
>2. Does the extension of the error handling constitute a part
> of the assignment, or it is just an option?
> In other words, do we need it for a full credit?
> If so, what are we expected to do?
>
Well, presumably you have already been doing this in previous
assignments as well, ;-) but we won't start checking now...
However, using the error reporting macros consistently is not
that hard and can also help you when debugging... Basically,
what you have to do is two things (basically mentioned in the
handout):
- Use MINIBASE_FIRST_ERROR() to report error conditions
that occur for the first time in your layer
- Check the return status of lower-layer functions you may
call and use MINIBASE_CHAIN_ERROR() to propagate the
error. This sort of creates a traceback. Admittedly, exceptions
and tracebacks (a-la Java or Python) are much nicer, but since
we don't have these... (plus the whole error reporting system
seems to be a carryover from Minirel, which was in C?).
Spiros