diff --git a/server/database/utils.py b/server/database/utils.py index c7e211f..1af37b8 100644 --- a/server/database/utils.py +++ b/server/database/utils.py @@ -96,7 +96,12 @@ def parse_from_call(call_data, fields, cls_fields, discard_none_values=True): continue if desc: if callable(desc): - desc(value) + try: + desc(value) + except TypeError: + raise ParseCallError(f"expecting {desc.__name__}", field=field) + except Exception as ex: + raise ParseCallError(str(ex), field=field) else: if issubclass(desc, (list, tuple, dict)) and not isinstance( value, desc