1. for nuke:
exec('try:\n n = nuke.toNode(\'DisableNodeController\'); k = n.knob(\'disable\'); k.setValue(0);\nexcept:\n nuke.message(\'DisableNodeController is not in scene\')')
2. second variant
def safecall(f, default=None, exception=Exception):
'''Returns modified f. When the modified f is called and throws an
exception, the default value is returned'''
def _safecall(*args,**argv):
try:
return f(*args,**argv)
except exception:
return default
return _safecall
[safecall(int)(i) for i in '1 2 x'.split()] # returns [1, 2, None]
[safecall(int, -1, ValueError)(i) for i in '1 2 x'.split()] # returns [1, 2, -1]
exec('try:\n n = nuke.toNode(\'DisableNodeController\'); k = n.knob(\'disable\'); k.setValue(0);\nexcept:\n nuke.message(\'DisableNodeController is not in scene\')')
2. second variant
def safecall(f, default=None, exception=Exception):
'''Returns modified f. When the modified f is called and throws an
exception, the default value is returned'''
def _safecall(*args,**argv):
try:
return f(*args,**argv)
except exception:
return default
return _safecall
[safecall(int)(i) for i in '1 2 x'.split()] # returns [1, 2, None]
[safecall(int, -1, ValueError)(i) for i in '1 2 x'.split()] # returns [1, 2, -1]
Комментариев нет:
Отправить комментарий