Para el tema de errores.
Podrías hacer que los métodos guarden el error presentado en un atributo (¿$this->error?) y ejecuten un: "return false".
El código que utilice esta clase se encargará de decdir si mostrar errores o no (y cómo).
Si llaman a un método y este devuelve "false", entonces sabrá que hay un error.
A partir de PHP5 ya se soporta el manejo de excepciones, con lo que se facilita la tarea de manejar errores.
También sería bueno que pongas un código de cómo funcionaría tu clase.
Por ejemplo, no veo por qué tu constructor pide los datos de conexión y el método conectar() los vuelve a pedir. Creo que el constructor debería llamar automáticamente al método conectar() y enviarle los parámetros, aunque si ya está guardados en atributos, no sería necesario que los pida, simplemente debería tomarlos:
mysql_connect($this->host, $this->user, $this->pass);
Saludos