nThe operand of the throw operator determines which catch block is selected by matching its type with the
type of the catch
blocks.
nIf we use the type void* for a catch block, it should
come after any
other catch block specifying a pointer type.
nThis is because the catch blocks are checked in sequence and the first catch block matching the type is used.
nSince 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.