if the method fails, higher layers will get an error like
'CDbException: The table "XXX" for active record class "YYY" cannot be found in the database' whatever exception was risen during the execution of
because any exception is catched and the method just returns false;
It can be a really uninformative especially if one uses his own CDbConnection or CDbCommand derivatives.
What exception can occur other than "table does not exist"?
In brief: CDbConnection misconfiguration (one can use single connection instance and switch between several hosts\DBs), connection error (timeout, max connection limit exceeded, etc.), sql query timeout (due to irresponsive server), in general any query error that we are dealing with when communicating with DBMS.