PHP try-catch no funciona

try     
{
    $matrix = Query::take("SELECT moo"); //this makes 0 sense

    while($row = mysqli_fetch_array($matrix, MYSQL_BOTH)) //and thus this line should be an error
    {

    }

    return 'something';
}
catch(Exception $e)
{
    return 'nothing';   
}

Sin embargo en lugar de solo ir a coger parte y volvernothing muestra una advertenciaWarning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given en la linea que comienza conwhile. Nunca llegué a usar excepciones en php, pero las usé mucho en C # y parece que en PHP funcionan de manera diferente o, como siempre, me falta algo obvio.

Respuestas a la pregunta(5)

Su respuesta a la pregunta