Документация Python неофициальный перевод

cgitb.md

49 строк · 4.2 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.1/library/cgitb.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 20.3. `cgitb` – Менеджер трассировки для CGI-скриптов89The `cgitb` module provides a special exception handler for Python scripts. (Its name is a bit misleading. It was originally designed to display extensive traceback information in HTML for CGI scripts. It was later generalized to also display this information in plain text.) After this module is activated, if an uncaught exception occurs, a detailed, formatted report will be displayed. The report includes a traceback showing excerpts of the source code for each level, as well as the values of the arguments and local variables to currently running functions, to help you debug the problem. Optionally, you can save this information to a file instead of sending it to the browser.1011Для включения этой возможности добавьте следующее в начало CGI-сценария:1213```python14import cgitb15cgitb.enable()16```1718Параметры функции [`enable()`](https://python-all.ru/3.1/library/cgitb.html#cgitb.enable) управляют тем, будет ли отчет отображаться в браузере и будет ли отчет записываться в файл для последующего анализа.1920#### `cgitb.enable(display=1, logdir=None, context=5, format="html")`2122Эта функция заставляет модуль `cgitb` перехватить стандартную обработку исключений интерпретатора, устанавливая значение [`sys.excepthook`](https://python-all.ru/3.1/library/sys.html#sys.excepthook).2324Необязательный аргумент *display* по умолчанию равен `1` и может быть установлен в `0` для подавления отправки трассировки в браузер. Если аргумент *logdir* присутствует, отчеты трассировки записываются в файлы. Значение *logdir* должно быть каталогом, в который будут помещены эти файлы. Необязательный аргумент *context* – это количество строк контекста, отображаемых вокруг текущей строки исходного кода в трассировке; по умолчанию равно `5`. Если необязательный аргумент *format* равен `"html"`, вывод форматируется как HTML. Любое другое значение приводит к выводу в виде обычного текста. Значение по умолчанию – `"html"`.2526#### `cgitb.handler(info=None)`2728Эта функция обрабатывает исключение, используя настройки по умолчанию (то есть показывает отчет в браузере, но не записывает в файл). Её можно использовать при перехвате исключения, чтобы сообщить о нём с помощью2930`cgitb`3132. Необязательный аргумент3334*info*3536должен быть тройкой, содержащей тип исключения, значение исключения и объект трассировки – точно так же, как кортеж, возвращаемый3738[`sys.exc_info()`](https://python-all.ru/3.1/library/sys.html#sys.exc_info)3940. Если аргумент4142*info*4344не указан, текущее исключение берётся из4546[`sys.exc_info()`](https://python-all.ru/3.1/library/sys.html#sys.exc_info)4748.49