Tengo una función PHP en un archivo Drupal 6 .module. Estoy intentando ejecutar validaciones de variables iniciales antes de ejecutar tareas más intensivas (como consultas de bases de datos). En C#, solía implementar sentencias IF al comienzo de mi bloque Try que arrojaba nuevas excepciones si fallaba una validación. La excepción arrojada quedaría atrapada en el bloque Catch. El siguiente es el código de PHP:Lanzar excepciones en un PHP Try Catch block
function _modulename_getData($field, $table) {
try {
if (empty($field)) {
throw new Exception("The field is undefined.");
}
// rest of code here...
}
catch (Exception $e) {
throw $e->getMessage();
}
}
Sin embargo, cuando trato de ejecutar el código, me está diciendo que los objetos sólo pueden ser lanzadas dentro del bloque Catch.
¡Gracias de antemano!
tl; dr "throw $ e-> getMessage();" debería ser "throw $ e;" –