Non ho mai usato questa classe, ma ad intuito ti dico che lastErrorMsg() e lastErrorCode() non gestiscono niente, semplicemente leggono il contenuto di una variabile e ne stampano il contenuto.

Le eccezioni vanno gestire con l'uso del costrutto try/catch.