Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2011, 09:58
betoja
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta control de errores

hola estoy tratando de que los errores que genera mi pagina web no muestren datos técnicos al usuario,como x ejemplo :

Warning: mssql_connect() [function.mssql-connect]: message: Error de inicio de sesion del usuario 'desarrollo'. (severity 14) in C:\xampp\htdocs\digital\libs\ConexionBD.php on line 26

para lo cual mostrare lo que estoy haciendio. primero, tengo una clase llamada ConexionBD.php

<?php

class ConexionBD
{
private static $instance = null;
private $conn1;
private function __construct()
{
}
public static function getInstance()
{
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}
return self::$instance;
}
public function AbrirBDmptIntegrada() {
try{
if(!isset($this->conn1)){
$this->conn1=mssql_connect("WEBMUNI","desarrollo","@desa rrollo123") ;
$res = mssql_select_db("BDmptIntegrada",$this->conn1);
}
return $this->conn1;
}
catch(Exception $ex) {
// throw new $ex->getMessage();
throw new Exception ("La conexión al servidor a fallado..");
}
}

//cierra la conexion con el motor de base de datos
public function CerrarBDmptIntegrada(){
if( isset( $this->conn1 ) ){
mssql_close( $this->conn1 );
unset( $this->conn1 ); // $this->conn = null;
//unset( $this->rst ); // $this->rst = null;
}
}

}
?>


segundo, tengo una pagina prueba.php que contiene lo siguiente:

<?php
try{
include_once("../../libs/ConexionBD.php");
$objcn =ConexionBD::getInstance(); //capturar una instancia de la clase conexionBD
$cn=$objcn->AbrirBDmptIntegrada();
} catch (Exception $ex){
$mensaje = ($ex->getMessage()) ;
echo $mensaje;
}
?>

bien, en teoria cuando ocurra un error en la conexion a la BD que puede pasar por por "n" motivos, deberia saltarme al bloque "catch" e imprimir el msje : "La conexión al servidor a fallado..", sin embargo lo que me hace es imprimir algo como el error antes mencionado...ayuda please, que estoy haciendo mal?