Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Qual é o tipo deste erro??

Galera, quando o php lança um Error, este erro não precisa nescessáriamente ter um tipo como: DivisionByZeroError ou TypeError né? ex:

    try{
        print_r(a);
    }catch(Error $erro){
        echo "Peguei o erro.".PHP_EOL;
    }

se eu não tratar este erro, ele retorna isso:

PHP Fatal error: Uncaught Error: Undefined constant "a" in C:\Users\Tiago Zay\Desktop\php exeptions\banco.php:66 Stack trace:

#0 {main}

com o tratamento ele retorna : Peguei o erro.

tenho esta duvida, pois fiquei um bom tempo tentanto achar um tipo para este erro, eu ficava colocando varios tipos, como: TypeError, ParseError no lugar da classe Error, mas nunca caia no cacth, ai lembrei que nem todos os erros tem um tipo expecifico, mas so queria confirmar se é isto mesmo?

2 respostas
solução!

Tiago, a função print_r() espera receber uma expressão, que pode ser um texto, uma variável ou uma constante. No PHP, as variáveis são inicidas com $, e textos a serem impressos devem estar entre aspas simples(') ou duplas ("), caracteres sem aspas e sem cifrão serão interpretados como constantes. O erro apresentado acontece pois você tentou imprimir o caracter "a" sem aspas, e o php está tentando achar essa constante, que provavelmente não foi definida.

Quanto ao tipo do erro, pode-se utilizar o tipo Exception, que é genérico.

Não era essa minha duvida, mas obrigado!