docs: continue making docs

This commit is contained in:
2025-10-17 01:09:06 +03:00
parent c87a0ce547
commit a25ede147f
6 changed files with 357 additions and 151 deletions
+27 -5
View File
@@ -21,8 +21,8 @@
.. _possible_errors:
Возможные исключения
--------------------
Возможные исключения и нестандартное поведение
----------------------------------------------
``UnprocessedInputFlagException``: Необрабатываемый ввод от пользователя
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -93,10 +93,10 @@
---------------
``UnknownCommandException``: Введена неизвестная команда
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``Поведение обработки неизвестной команды``: Введена неизвестная команда
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Исключение вызывается, когда пользователь вводит команду, которая не зарегистрирована ни в одном роутере и не является алиасом ни для
Поведение триггерится, когда пользователь вводит команду, которая не зарегистрирована ни в одном роутере и не является алиасом ни для
одной зарегистрированной команды.
Дефолтный хэндлер выводит в консоль
@@ -113,4 +113,26 @@
.. literalinclude:: ../code_snippets/error_handling_example_sample5.py
:language: python
---------------
``Поведение выхода из приложения``: Введена команда выхода
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Поведение триггерится, когда пользователь вводит команду, которая маркирована как команда завершения работы.
Дефолтный хэндлер выводит в консоль текст и завершает работу приложения.
.. code-block:: shell
See you
Для переопределения стандартного поведения используется сеттер ``.set_exit_command_handler(_: NonStandardBehaviorHandler[Response])``,
протокол ``NonStandardBehaviorHandler[Response]`` соответствует ``Callable[[Response], None]``, то есть хэндлер должен быть вызываемым объектом,
к примеру функция или лямбда, которая принимает обязательный аргумент типа :ref:`Response <response>` и ничего не возвращает.
Сэмпл кода, переопределяющего хэндлер ввода команды выхода:
.. literalinclude:: ../code_snippets/error_handling_example_sample6.py
:language: python