Как уже упоминалось, исключения бросаются дорого.В некоторых случаях их нельзя избежать.
В этом случае, однако, звучит так, будто они определенно могут быть.,Это скажет вам, если приведение прошло успешно или нет, таким образом избегая Исключения в целом:
object someObject;
SomeType typedObject;
// fill someObject
typedObject = someObject as SomeType;
if(typedObject == null)
{
// Cast failed
}