exception handling

Which of the following statements describe correct methods of handling C++ exceptions?

A. In a hierarchy of exception classes, the order of handling exceptions can be from the most specific class to the most general class.
B. Once an exception is thrown, the compiler unwinds the heap, freeing any memory dynamically allocated within the block from which the exception was thrown.
C. If an exception is caught by its address or pointer, it is the responsibility of the thrower to release the memory occupied by the exception.
D. Catching an exception by reference is preferable to catching it by value.
E. To write an exception handler, it is essential to know the concrete class of exception to catch.

* A is correct, because ya can do exception handling anywhere.
* B is incorrect, becuase you need to free the memory yourself when you do a try/catch
* C is correct, because of what I said about B
* D is correct, because it you just have its value you can't free its reference.
* E - unsure, I don't understand the answer.

Can someone please confirm. Thx.
E is related to A.
The reference to a 'concrete class of exception' means the specific class of exception - for example 'Divide By Zero' might be a specific exception class (Concrete Class) derived from 'Maths Exception'.
Topic archived. No new replies allowed.