Da ist deine Einstellung genau falschrum, in Bezug auf deine Fehlererwartung.
AS wirf nur eine Exception, wenn sich die Objektinstanz nicht casten läßt, da das Objekt nicht dem dem angegebenen Typen entspricht, bzw. kein Nachfahre davon ist.
Und genau da ist diese Exception vollkommen in Ordnung.
Viel schlimmer wäre es, wenn du eine inkompatibles Objekt hart castes, was dann eventuell...