Programatik

August 24, 2007

Objeto para manejo de errores extremadamente simple

Filed under: php — Rafa @ 6:29 pm
Class Error {
 
	protected $code;
	protected $name;
	protected $description;
	protected $errorLevel = E_ERROR;
 
	public function Error($code, $name, $description, $level) {
		$this->setCode($code);
		$this->setName($name);
		$this->setDescription($description);
 
		$errorString = "<strong>" . $this->getName();
		$errorString .= " [Code: " . $this->getCode() . "]</strong><br />";
		$errorString .= $this->getDescription();
 
		trigger_error($errorString, $level);
	}
 
	public function setCode($code) {
		$this->code = $code;
	}
	public function getCode() {
		return $this->code;
	}
	public function setName($name) {
		$this->name = $name;
	}
	public function getName() {
		return $this->name;
	}
	public function setDescription($description) {
		$this->description = $description;
	}
	public function getDescription() {
		return $this->description;
	}
//
}

4 Comments »

  1. Muy simple y muy buena.
    Te falta decir que es para errores pero del sistema(”enviroment” quizás sería más apropiado de decir). Para errores de nuestros propios scripts lo suyo es usar una clase que sirva para gestionar los errores de manera más adecuada.

    Comment by CeltaProscrito — August 25, 2007 @ 12:55 pm

  2. La idea es que un objeto que requiera gestionar sus errores puede tener como miembro este objeto Error. Habría que extender este objeto de todos modos, pero puede servir como base a quienes andan peleándose con la idea de gestionar errores.

    Voy a pedir permiso a un amigo para publicar aquí su solución ;)

    Comment by Rafa — August 25, 2007 @ 1:01 pm

  3. Hola Rafa,

    ¿no sería más correcto hablar de una “clase”? Ya que un objeto es una instancia de una clase y lo que tu nos muestras es la definición de una clase en php.

    De todas formas, yo la asemejaría más a la definición de “Exception” que trae PHP 5, puesto que eso le añadiría un plus de portabilidad a la aplicación sin quitarle simplicidad.

    Saludos

    Comment by Manuel — August 27, 2007 @ 11:30 am

  4. En rigor, sí.

    Uhm… no esperaba que este esbozo trajera debate.

    Comment by Rafa — August 27, 2007 @ 11:43 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

*
To prove that you're not a bot, enter this code
Anti-Spam Image

Powered by WordPress