在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ python中自定義的異常在什么情況下被捕捉?

python中自定義的異常在什么情況下被捕捉?

問題如題,代碼如下:

import functools
import json

class JSONOutputError(Exception):
    def __init__(self,message):
        self._message=message
    def _str__(self):
        return self._message

def json_output(decorated_=None,indent=None,sort_keys=False):
    if decorated_ and (indent or sort_keys):
        raise RuntimeError('Unexpected arguments.')
    def actual_decorator(func):
        @functools.wraps(func)
        def inner(*args,**kwargs):
            try:
                result=func(*args,**kwargs)
            except JSONOutputError as ex:
                result={
                    'status':'error',
                    'message':str(ex),
                    }
            return json.dumps(result,indent=indent,sort_keys=sort_keys)
        return inner
    if decorated_:
        return actual_decorator(decorated_)
    else:
        return actual_decorator

inner函數(shù)中的try在什么情況下會(huì)引發(fā)JSONOutputError

回答
編輯回答
野橘

當(dāng)你在 func 里面 raise JSONOutputError 的時(shí)候

2018年3月25日 21:30