This commit is contained in:
2025-11-01 12:00:23 +03:00
parent 9b28ef17ff
commit acddb1fbc6
6 changed files with 29 additions and 30 deletions
+13 -14
View File
@@ -14,8 +14,7 @@
.. note::
Все исключения никогда не остаются необработанными, так как у них есть стандартные хэндлеры. Поэтому переопределение опционально.
Краткий сэмпл кода, переопределяющего хэндлер ввода
пустой команды
Краткий пример кода, переопределяющего хэндлер ввода пустой команды:
.. literalinclude:: ../code_snippets/error_handling/snippet.py
:language: python
@@ -30,11 +29,11 @@
``UnprocessedInputFlagException``: Необрабатываемый ввод от пользователя
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Исключение вызывается, когда пользователь вводит команду с некорректным синтаксисом и как следствие парсер не может
*распарсить* её. В большинстве случаев это означат, что проблема в синтаксисе введённых флагов команды, подробнее о
Исключение вызывается, когда пользователь вводит команду с некорректным синтаксисом и, как следствие, парсер не может
*распарсить* её. В большинстве случаев это означает, что проблема в синтаксисе введённых флагов команды, подробнее о
флагах и их синтаксисе в :ref:`Flags <root_flags>`.
Дефолтный хэндлер выводит в консоль
Стандартный хэндлер выводит в консоль
.. code-block:: shell
@@ -44,7 +43,7 @@
протокол ``NonStandardBehaviorHandler[str]`` соответствует ``Callable[[str], None]``, то есть хэндлер должен быть вызываемым объектом,
к примеру функция или лямбда, которая принимает единственный аргумент - строку, которая представляет собой необработанную введённую команду, и ничего не возвращает.
Сэмпл кода, переопределяющего хэндлер ввода команды с некорректным синтаксисом:
Пример кода, переопределяющего хэндлер ввода команды с некорректным синтаксисом:
.. literalinclude:: ../code_snippets/error_handling/snippet2.py
:language: python
@@ -61,7 +60,7 @@
.. note::
Сравнение на равенство у регистрируемых флагов(Flag) происходит иначе, подробнее в :ref:`Flag <root_flags>`.
Дефолтный хэндлер выводит в консоль
Стандартный хэндлер выводит в консоль
.. code-block:: shell
@@ -71,7 +70,7 @@
протокол ``NonStandardBehaviorHandler[str]`` соответствует ``Callable[[str], None]``, то есть хэндлер должен быть вызываемым объектом,
к примеру функция или лямбда, которая принимает единственный аргумент - строку, которая представляет собой необработанную введённую команду, и ничего не возвращает.
Сэмпл кода, переопределяющего хэндлер ввода команды с повторяющимися флагами:
Пример кода, переопределяющего хэндлер ввода команды с повторяющимися флагами:
.. literalinclude:: ../code_snippets/error_handling/snippet3.py
:language: python
@@ -84,7 +83,7 @@
Исключение вызывается, когда пользователь вводит команду в виде строки из пробельных символов - ``\n``, ``\t``, пробел и т.д.
Дефолтный хэндлер выводит в консоль
Стандартный хэндлер выводит в консоль
.. code-block:: shell
@@ -94,7 +93,7 @@
протокол ``EmptyCommandHandler`` соответствует ``Callable[[], None]``, то есть хэндлер должен быть вызываемым объектом,
к примеру функция или лямбда, которая не принимает аргументов и ничего не возвращает.
Сэмпл кода, переопределяющего хэндлер ввода пустой команды:
Пример кода, переопределяющего хэндлер ввода пустой команды:
.. literalinclude:: ../code_snippets/error_handling/snippet4.py
:language: python
@@ -108,7 +107,7 @@
Поведение триггерится, когда пользователь вводит команду, которая не зарегистрирована ни в одном роутере и не является алиасом ни для
одной зарегистрированной команды.
Дефолтный хэндлер выводит в консоль
Стандартный хэндлер выводит в консоль
.. code-block:: shell
@@ -118,7 +117,7 @@
протокол ``NonStandardBehaviorHandler[InputCommand]`` соответствует ``Callable[[InputCommand], None]``, то есть хэндлер должен быть вызываемым объектом,
к примеру функция или лямбда, которая принимает обязательный аргумент типа :ref:`InputCommand <root_api_command_input_command>` и ничего не возвращает.
Сэмпл кода, переопределяющего хэндлер ввода неизвестной команды:
Пример кода, переопределяющего хэндлер ввода неизвестной команды:
.. literalinclude:: ../code_snippets/error_handling/snippet5.py
:language: python
@@ -131,7 +130,7 @@
Поведение триггерится, когда пользователь вводит команду, которая маркирована как команда завершения работы.
Дефолтный хэндлер выводит в консоль текст и завершает работу приложения.
Стандартный хэндлер выводит в консоль текст и завершает работу приложения.
.. code-block:: shell
@@ -141,7 +140,7 @@
протокол ``NonStandardBehaviorHandler[Response]`` соответствует ``Callable[[Response], None]``, то есть хэндлер должен быть вызываемым объектом,
к примеру функция или лямбда, которая принимает обязательный аргумент типа :ref:`Response <root_api_response>` и ничего не возвращает.
Сэмпл кода, переопределяющего хэндлер ввода команды выхода:
Пример кода, переопределяющего хэндлер ввода команды выхода:
.. literalinclude:: ../code_snippets/error_handling/snippet6.py
:language: python