 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| • |
The
operand of the throw operator determines which
|
|
|
catch
block is selected by matching its type with the type
|
|
|
of
the catch blocks.
|
|
| • |
If
we use the type void* for a catch block, it should come
|
|
after
any other catch block specifying a pointer type.
|
|
| • |
This
is because the catch blocks are checked in sequence
|
|
|
and
the first catch block matching the type is used.
|
|
| • |
Since
void* matches all possible pointer types, we would
|
|
|
never
be able to access a catch block with a specific
|
|
|
pointer
type if a void* catch block preceded it.
|
|