Bloques PHP try-catch: ¿son capaces de capturar tipos arg no válidos?
Fondo: Supongamos que tengo el siguiente PHP obviamente incorrecto:
try{
$vtest = '';
print(array_pop($vtest));
}catch(Exception $exx){}
Para que funcione con array_pop, $ vtest obviamente debe ser una matriz, no una cadena. Sin embargo, cuando ejecuto este código se muestra la advertencia. No quiero eso, solo quiero que el código falle silenciosamente.
Pregunta: ¿Hay algo especial en PHP try-catch en comparación con otros lenguajes que hacen que esto no funcione?
Renuncia: Solo como referencia, es cierto que hay otras formas de manejar esta situación en PHP, pero no son deseables. El objetivo aquí es evitar:
El truco de "at-sign":
$vtest = '';
print(@array_pop($vtest)); // <-- would like to avoid this
Tipo de fundición:
$vtest = '';
$vtest = (array)$vtest;
print(array_pop($vtest));