Como capturar corretamente exceções do PHP (Laravel 5.1)

Eu tenho algum código que faz chamadas de banco de dados e solicitações de rede e eu o envolvo em uma tentativa / captura. O problema é que nunca consigo capturar as exceções e elas não parecem ser fatais:

try {
   // make db requests and network calls
} catch (Exception $e) {
   // handle exception
}

Ou seja, encontro exceções como estas:

[Illuminate\Database\QueryException] 
[PDOException]
[InvalidArgumentException] 

Existe uma maneira de capturar essas exceções? Preciso ser explícito para cada tipo possível de objeto de exceção (o que significa que devo criar muitas tentativas / capturas) ou existe uma maneira recomendada de capturar exceções não fatais?

questionAnswers(1)

yourAnswerToTheQuestion