Meine Frage bezieht sich auf die korrekte Art, Ausnahmen in PHP abzufangen. Basierend auf der beiliegenden examples des PHP MongoDB-Treiber, ich habe folgendes Skript erstellt:So fangen Sie Exceptions in PHP und MongoDB korrekt ab
<?php
try {
$mng = new MongoDB\Driver\Manager("mongodb://localhost:2717");
$query = new MongoDB\Driver\Query([], ['sort' => [ 'name' => 1], 'limit' => 5]);
$rows = $mng->executeQuery("testdb.cars", $query);
foreach ($rows as $row) {
echo "$row->name : $row->price\n";
}
} catch (MongoDB\Driver\Exception\Exception $e) {
$filename = basename(__FILE__);
echo "The $filename script has experienced an error.\n";
echo "It failed with the following exception:\n";
echo "Exception:", $e->getMessage(), "\n";
echo "In file:", $e->getFile(), "\n";
echo "On line:", $e->getLine(), "\n";
}
?>
Das Beispiel ist Bildungs-und bedeuten auf dem PHP-CLI ausgeführt werden. In PHP CLI erhalten wir alle Ausnahmen auf der Konsole, aber aus didaktischen Gründen wollte ich Ausnahmen im try/catch-Block abfangen.
Ich habe mehr Java-Code als PHP gesehen und daher, ein generisches MongoDB\Driver\Exception\Exception
zu fangen, sieht nicht gut für mich aus. In Java fangen wir bestimmte Ausnahmen ab und haben mehrere try/catch-Blöcke für verschiedene Arten von Ausnahmen.
Der Fahrer hat die folgenden Ausnahmen:
MongoDB\Driver\Exception\AuthenticationException
MongoDB\Driver\Exception\BulkWriteException
MongoDB\Driver\Exception\ConnectionException
MongoDB\Driver\Exception\ConnectionTimeoutException
MongoDB\Driver\Exception\Exception
MongoDB\Driver\Exception\ExecutionTimeoutException
MongoDB\Driver\Exception\InvalidArgumentException
MongoDB\Driver\Exception\LogicException
MongoDB\Driver\Exception\RuntimeException
MongoDB\Driver\Exception\SSLConnectionException
MongoDB\Driver\Exception\UnexpectedValueException
MongoDB\Driver\Exception\WriteException
Ist das eine reine Art und Weise Ausnahmen in PHP zu fangen?
fügen wir es so tun könnten, aber dies ist die empfohlene Methode, Ausnahmen in PHP zu fangen? Wenn ja warum? –