PHP ne prend pas en charge nativement l'erreur de capture comme le fait Python, sauf si vous remplacez le comportement par défaut et set your own error handler. PHP try
- catch
a été récemment ajouté à la langue dans la version 5, et il peut seulement attraper des exceptions que vous avez explicitement throw
.
Donc, fondamentalement, PHP distingue les erreurs et les exceptions. Les erreurs n'ont pas été modularisées et mises à la disposition de l'utilisateur comme si elles étaient en Python. Je crois que cela est lié au fait que PHP a commencé comme un collection of dynamic web scripts, a grandi et a gagné plus de fonctionnalités au fil du temps, et seulement plus récemment offert un support amélioré de POO (c'est-à-dire, la version 5); alors que Python supporte fondamentalement la POO et d'autres méta-fonctionnalités. Et gestion des exceptions from the beginning.
Voici un exemple d'utilisation (encore une fois, un throw
est nécessaire, ou bien rien ne sera pris):
function oops($a)
{
if (!$a) {
throw new Exception('empty variable');
}
return "oops, $a";
}
try {
print oops($b);
} catch (Exception $e) {
print "Error occurred: " . $e->getMessage();
}
C'était ce dont j'avais besoin, merci. Je vais accepter cette réponse quand je peux dans environ 8 ou 9 minutes. –
@Zachary comment ça s'est passé? – Mizipzor
@mizipzor, ça a bien marché! @ts, désolé je ne l'avais pas encore accepté, j'ai oublié la nuit dernière. –