Exception Catching
It should be extremely rare for an exception to actually happen with your Mobile.
Consider the sources of exceptions: connection drops, invalid syntax, unknown column/table/etc, so on. Basically there's different layers of exceptions. There's the connection oriented ones, and the SQL oriented ones. The SQL oriented ones should never happen. By the time your code goes into production, you should be certain that none of your queries have invalid syntax, reference non-existing entities, so on.
This leaves connection problems as the only source of exceptions (or perhaps MySQL related hiccups, though those should be pretty rare).
Because of this rarity, I would be tempted to basically ignore any exceptions.
Even if you did handle the exceptions, what are you going to do with them?
try {
$affs = $mobile->findPhoneAffiliate(5);
} catch (SomeExceptionClass $ex) {
//There's not really a good way to recover from this, so you might as well
//show some kind of "Oops, something broke." page.
//You could then log the exception behind the scenes and make sure the end-user
//sees nothing sensitive.
}
What I would do in this situation is just let the exception bubble up to the very top. I would have a giant try/catch at the top layer though that intercepts any uncaught exceptions and renders some kind of error page.
How you do this will highly depend on the structure of your website, but assuming you're doing something MVC-ish, it should be fairly simple. In the catch block, just kill the current dispatch, and instead dispatch a request for the exception page.