hug icon indicating copy to clipboard operation
hug copied to clipboard

Exception handler: Why find a potential handler doesn't exit the loop

Open Panlq opened this issue 3 years ago • 0 comments

https://github.com/hugapi/hug/blob/8b5ac00632543addfdcecc326d0475a685a0cba7/hug/interface.py#L936

  1. Why find a potential handler doesn't exit the loop?
  2. https://github.com/hugapi/hug/blob/8b5ac00632543addfdcecc326d0475a685a0cba7/hug/interface.py#L935

potential_handler The handler may just be a function that does not call hug.exception(SomeException, potential_handler) injects the handle And it is directly called http.add_exception_handler method to inject an exception handler This situation results in an AttributeError

  File "/root/.cache/pypoetry/virtualenvs/xxxx-CoXUkZCy-py3.8/lib/python3.8/site-packages/hug/interface.py", line 919, in __call__
    if not isinstance(exception, potential_handler.exclude):
AttributeError: 'function' object has no attribute 'exclude'

Whether it is necessary to increase robustness? like:

if hasattr(potential_handler, "exclude") and isinstance(exception, potential_handler.exclude):
   continue

Panlq avatar Dec 09 '22 07:12 Panlq