當前位置: 首頁>>代碼示例>>Python>>正文


Python OperationError.match方法代碼示例

本文整理匯總了Python中pypy.interpreter.error.OperationError.match方法的典型用法代碼示例。如果您正苦於以下問題:Python OperationError.match方法的具體用法?Python OperationError.match怎麽用?Python OperationError.match使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在pypy.interpreter.error.OperationError的用法示例。


在下文中一共展示了OperationError.match方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: w_throw

# 需要導入模塊: from pypy.interpreter.error import OperationError [as 別名]
# 或者: from pypy.interpreter.error.OperationError import match [as 別名]
 def w_throw(self, w_type=None, w_value=None, w_traceback=None):
     space = self.space
     if space.is_w(w_type, space.w_None):
         w_type = self.costate.w_GreenletExit
     # Code copied from RAISE_VARARGS but slightly modified.  Not too nice.
     operror = OperationError(w_type, w_value)
     operror.normalize_exception(space)
     if not space.is_w(w_traceback, space.w_None):
         from pypy.interpreter import pytraceback
         tb = space.interpclass_w(w_traceback)
         if tb is None or not space.is_true(space.isinstance(tb, 
             space.gettypeobject(pytraceback.PyTraceback.typedef))):
             raise OperationError(space.w_TypeError,
                   space.wrap("throw: arg 3 must be a traceback or None"))
         operror.set_traceback(tb)
     # Dead greenlet: turn GreenletExit into a regular return
     if self.isdead() and operror.match(space, self.costate.w_GreenletExit):
         args_w = [operror.get_w_value(space)]
     else:
         syncstate.push_exception(operror)
         args_w = None
     return self.w_switch(args_w)
開發者ID:gorakhargosh,項目名稱:pypy,代碼行數:24,代碼來源:interp_greenlet.py

示例2: test_new_exception

# 需要導入模塊: from pypy.interpreter.error import OperationError [as 別名]
# 或者: from pypy.interpreter.error.OperationError import match [as 別名]
def test_new_exception(space):
    w_error = new_exception_class(space, '_socket.error')
    assert w_error.getname(space) == 'error'
    assert space.str_w(space.repr(w_error)) == "<class '_socket.error'>"
    operr = OperationError(w_error, space.wrap("message"))
    assert operr.match(space, w_error)
    assert operr.match(space, space.w_Exception)

    # subclass of ValueError
    w_error = new_exception_class(space, 'error', space.w_ValueError)
    operr = OperationError(w_error, space.wrap("message"))
    assert operr.match(space, w_error)
    assert operr.match(space, space.w_ValueError)

    # subclass of (ValueError, TypeError)
    w_bases = space.newtuple([space.w_ValueError, space.w_TypeError])
    w_error = new_exception_class(space, 'error', w_bases)
    operr = OperationError(w_error, space.wrap("message"))
    assert operr.match(space, w_error)
    assert operr.match(space, space.w_ValueError)
    assert operr.match(space, space.w_TypeError)
開發者ID:charred,項目名稱:pypy,代碼行數:23,代碼來源:test_error.py


注:本文中的pypy.interpreter.error.OperationError.match方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。