Hat re.compile () oder jeder Python gegeben Bibliotheksaufruf eine Ausnahme auslösen?

StackOverflow https://stackoverflow.com/questions/58119

  •  09-06-2019
  •  | 
  •  

Frage

Ich kann nicht von der Python-Dokumentation sagen, ob die re.compile (x) Funktion eine Ausnahme auslösen kann (Sie in einem String übergeben vorausgesetzt). Ich stelle mir vor, es ist etwas, das ein ungültiger regulärer Ausdruck in Betracht gezogen werden könnte. Die größere Frage ist, wo ich finden gehen, wenn ein Anruf Python gegeben Bibliothek kann Ausnahme (n) werfen und was diese sind?

War es hilfreich?

Lösung

Nun, re.compile sicherlich kann:

>>> import re
>>> re.compile('he(lo')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python25\lib\re.py", line 180, in compile
    return _compile(pattern, flags)
  File "C:\Python25\lib\re.py", line 233, in _compile
    raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis

Die Dokumentation dies nicht unterstützt, auf Umwegen - überprüfen Sie die Unterseite der „Modulinhalt“ Seite für (kurze) Beschreibung der error Ausnahme

.

Leider habe ich keine Antwort auf die allgemeine Frage. Ich nehme an, die Dokumentation für die verschiedenen Module in Qualität und Gründlichkeit variiert. Wenn es bestimmte Module waren Sie interessiert waren, könnte man a href <= „https://web.archive.org/web/20081004235506/http://www.depython.net/“ rel = "nofollow noreferrer der Lage sein, „> decompile sie (wenn in Python geschrieben) oder sogar an der Quelle schauen, wenn sie in der Standardbibliothek sind.

Andere Tipps

Im Gegensatz zu Java, wo gibt es Ausnahmen, die deklariert werden müssen angehoben werden (und einige, die müssen nicht sein, aber das ist eine andere Geschichte), jede Python-Code jede Ausnahme jederzeit erhöhen kann.

Es gibt eine Liste von eingebauten Ausnahmen , die in der Regel hat einige Beschreibung, wann könnten diese Ausnahmen angehoben werden. Es liegt an Ihnen, wie viel Ausnahmebehandlung werden Sie tun, und wenn Sie Sachen ordnungsgemäß behandelt, oder einfach nur mit einem Rückverfolgungs versagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top