Colegas:
Me esta pasando algo "raro" porque tengo dentro una clase algo no mucho mas complicado que esto... y la excepcion jamas es capturada, termina arrojando "Fatal error" ... por que puede pasar ?
Código PHP:
<?php
try
{
throw new Exception ("Algo anda mal");
}catch (Exception $e){
echo 'Error capturado: ', $e->getMessage(), "\n";
}
echo "// La vida sigue..";
Gracias desde ya
Código PHP:
Ver originalpublic function consistencyCheck($strict_error=false){
$intersec = array_intersect($this->_must_contain
,$this->_must_not_contain
);
try
{
throw new \Exception ("Los tags que no deben estar, no pueden ser los mismos que deben estar (contradiccion)");
///return false;
if (!empty($this->_can_contain
)) {
// el universo de lo posible de ser mayor del obligado
if (count($this->_must_contain
) > count ($this->_can_contain
)) throw new \Exception ("El universo de lo posible de ser mayor del obligado");
//return false;
}
// todo elemento en MUST debe estar en CAN
foreach ($this->_must_contain as $must){
#$must_name = $must->getElementName();
$found = false;
foreach ($this->_can_contain as $can){
if ($can->compareTo($must)>=0) // >= ó ==
$found = true;
}
if (!$found)
throw new \Exception ("Todo elemento en MUST debe estar en CAN");
//return false;
}
if (!empty($this->_secuence
)) {
// tags que DEBEN obligadamente estar
foreach ($this->_must_contain as $tag){
if (!$this->find($tag))
throw new \Exception ("Hay tags que DEBEN obligadamente estar");
//return false;
}
// tags que obligadamente *no* DEBEN estar
foreach ($this->_must_not_contain as $tag){
if ($this->find($tag))
throw new \Exception ("Hay tags que obligadamente *no* DEBEN estar");
//return false;
}
}else
return null;
// por que no la captura ?
}catch (Exception $e){
echo 'Error de chequeo: ', $e->getMessage(), "\n";
return false;
}
return true;
}