Pero no es necesario que coloquen tantos catch'es, con poner el simbolo exception y como dice alex con el getType se puede obtener su tipo
try
Catch ex as exception
DameElPoder(ex.getType())
end try
sub DameElPoder(ByVal referencia as Type)
.
.
.
end sub
no es necesario hacer el ByRef ya que solo quieres obtener el tipo, no todo el objeto, asi nos ahorramos la tardanza que es en ms pero es algo no