Я занимаюсь разработкой приложения Warp / WarpTLS и нескольких промежуточных программ (без yesod), каждый из которых обрабатывает свои собственные исключения.
В настоящее время я хочу разобраться с исключениями, возникшими в Warp и WarpTLS, и я неясно, какие исключения могут возникать и достаточно ли обработчика, предоставленного для setOnException
, обрабатывать все исключения (включая, например, исключения TLS).
Вот что я понимаю:
- setOnException может использоваться для отлова внутренних исключений деформации (а также исключений приложения) в соответствии с do c
- Выставки деформации InvalidRequest с экземпляром
Exception
. - Проверка sr c из defaultOnExceptionResponse позволяет предположить, что
ConnectionError
может быть вызвано из Warp.
My вопросы:
- Если я предоставлю обработчик для
setOnException
, могу ли я быть уверен, что все внутренние исключения закончатся там? - Действительно ли 1) верно если я использую WarpT LS и
runTLS
? - Какие исключения могут быть выданы
runSettings
(Деформация) и runTLS
(Деформация WarpTLS)?