Quelles sont les meilleures pratiques pour la création d'exceptions? Je viens de voir cela, et je ne sais pas si je dois être horrifié, ou tout comme. J'ai lu plusieurs fois dans les livres que les exceptions ne devrait jamais contenir une chaîne, parce que les chaînes elles-mêmes peuvent lever des exceptions. Toute vérité à cela?
Essentiellement à partir de ma compréhension de la part des scripts, c'est que cela a été fait pour tous les internes bibliothèques Python aura un message d'erreur courants de format (quelque chose qui est désespérément nécessaire) afin que je puisse comprendre pourquoi leur mettre la chaîne de message d'erreur est une bonne idée. (Presque tous les jets de méthode exceptions en raison de l'absolue nécessité pour rien non valide passer à travers).
Le code en question est le suivant:
"""
Base Exception, Error
"""
class Error(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return "[ERROR] %s\n" % str(self.message)
def log(self):
ret = "%s" % str(self.message)
if(hasattr(self, "reason")):
return "".join([ret, "\n==> %s" % str(self.reason)])
return ret
class PCSException(Error):
def __init__(self, message, reason = None):
self.message = message
self.reason = reason
def __str__(self):
ret = "[PCS_ERROR] %s\n" % str(self.message)
if(self.reason != None):
ret += "[REASON] %s\n" % str(self.reason)
return ret
C'est juste la pointe de l'iceberg, mais quelqu'un peut-il me donner un aperçu de ce qui rend ce une mauvaise idée? Ou si il y a une bien meilleure exception processus de codage/de style.