No podrá hacer directamente or throw new Exception();
porque throw
es una afirmación, no una expresión. Como or
es realmente un operador, espera que sus operandos sean expresiones (cosas que evalúan algunos valores).
Habría que hacer esto en su lugar:
$re = mysql_query($query);
if (!$re) {
throw new Exception('Query Failed');
}
Si usted está tratando de utilizar la función throwException()
propuesto por ese comentario manual de PHP, como webbiedave señala el comentario está diciendo que necesita llamar esa función en lugar de la declaración throw
directamente como aquí:
$re = mysql_query($query) or throwException('Query Failed');
no hay ninguna regla en PHP que dice que usted necesita para lanzar excepciones de un método de clase. Mientras haya alguna manera de atrapar esa excepción, estarás bien. Si quiere decir que quiere lanzar excepciones sin usar la clase Exception
, debe hacerlo. Las excepciones son objetos por naturaleza; no puede lanzar una excepción que no sea un objeto (o que no herede de la clase Exception
).
Si no desea lanzar excepciones pero aumenta el tipo de error que a menudo se ve en PHP (avisos, advertencias y errores fatales), use trigger_error()
.
$re = mysql_query($query);
if (!$re) {
trigger_error('Query Failed', E_USER_ERROR);
}
¿Qué significa "estático"? – BoltClock
por static Quiero decir sin inicializar una clase – sreejith
Espero que esta declaración inútil de 'Query Failed' sea solo un ejemplo y en verdad vas a poner allí un error real junto con la consulta –