当前位置: 首页>>代码示例>>Python>>正文


Python Except.throw_exception方法代码示例

本文整理汇总了Python中PyTango.Except.throw_exception方法的典型用法代码示例。如果您正苦于以下问题:Python Except.throw_exception方法的具体用法?Python Except.throw_exception怎么用?Python Except.throw_exception使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PyTango.Except的用法示例。


在下文中一共展示了Except.throw_exception方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __exit__

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
    def __exit__(self,etype,e,tb): #Type of exception, exception instance, traceback
        if not e and not etype:
            pass
        else:
            stack = traceback.format_tb(tb)
            exstring = '\n'.join(stack)
            if self.verbose:
                print '-'*80
                self.logger.warning('%s Exception Catched, Tracebacks (most recent call last): %s;\n%s'%(etype.__name__,str(e),exstring))
                sys.stdout.flush(); sys.stderr.flush()
                print '-'*80

            if self.postmethod: self.postmethod(exstring)
            if etype is DevFailed:
                #for k,v in e[0].items():print k,':',v
                if True: #not self.rethrow: #re_throw doesn't work!
                    #The exception is throw just as it was
                    err = e[0]
                    Except.throw_exception(err.reason,err.desc,err.origin)
                    #Except.throw_exception(e.args[0]['reason'],e.args[0]['desc'],e.args[0]['origin'])
                else: #It doesn't work!!!
                    #ex=DevFailed(e[0]['reason'],e[0]['desc'],e[0]['origin'])
                    #Except.re_throw_exception(ex, '','','')
                    pass
            else: #elif etype is Exception:
                exstring = self.origin or len(exstring)<125 and exstring or stack[-1]
                Except.throw_exception(etype.__name__,str(e),exstring)
开发者ID:ska-sa,项目名称:fandango,代码行数:29,代码来源:excepts.py

示例2: ReloadMacro

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
 def ReloadMacro(self, macro_names):
     """ReloadMacro(list<string> macro_names):"""
     try:
         for macro_name in macro_names:
             self.macro_server.reload_macro(macro_name)
     except MacroServerException, mse:
         Except.throw_exception(mse.type, mse.msg, "ReloadMacro")
开发者ID:reszelaz,项目名称:sardana,代码行数:9,代码来源:MacroServer.py

示例3: wrapper

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
    def wrapper(*args,**kwargs):
        try:
            #logger.debug('Trying %s'%fun.__name__)
            result = fun(*args,**kwargs)
            #sys.stdout.write('fun DONE!!!\n')
            return result
        except DevFailed, e:
            exstring=getPreviousExceptions()            
            if verbose:
                print '-'*80
                #exstring = traceback.format_exc()
                logger.warning('DevFailed Exception Catched: \n%s'%exstring)
                try:
                    if showArgs: logger.info('%s(*args=%s, **kwargs=%s)'%(fun.__name__,args,kwargs))
                except:pass
                sys.stdout.flush(); sys.stderr.flush()
                print '-'*80

            if postmethod: postmethod(exstring)
            err = e.args[0]
            if rethrow:
                #Except.re_throw_exception(e,'','',"%s(...)"%fun.__name__)
                Except.throw_exception(err.reason, exstring, "%s(...)"%fun.__name__)
            else:
                #Except.throw_exception(err.reason,err.desc,err.origin)
                logger.warning(str((err.reason,err.desc,err.origin)))
                return default
开发者ID:ska-sa,项目名称:fandango,代码行数:29,代码来源:excepts.py

示例4: read_Data

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
 def read_Data(self, attr):
     desc = "Data attribute is not foreseen for reading. It is used only "\
            "as the communication channel for the continuous acquisitions."
     Except.throw_exception("UnsupportedFeature",
                            desc,
                            "PoolExpChannelDevice.read_Data",
                            ErrSeverity.WARN)
开发者ID:rhomspuron,项目名称:sardana,代码行数:9,代码来源:PoolDevice.py

示例5: ReloadMacroLib

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
 def ReloadMacroLib(self, lib_names):
     """ReloadMacroLib(sequence<string> lib_names):
     """
     try:
         for lib_name in lib_names:
             self.macro_server.reload_macro_lib(lib_name)
     except MacroServerException, mse:
         Except.throw_exception(mse.type, mse.msg, "ReloadMacroLib")
开发者ID:reszelaz,项目名称:sardana,代码行数:10,代码来源:MacroServer.py

示例6: ExceptionWrapper

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
def ExceptionWrapper(fun,logger=exLogger,postmethod=None, showArgs=False,verbose=False,rethrow=False,default=None):
    ''' 
    Implementation of the popular Catched() decorator:
    
    * it will execute your method within a a try/except
    * it will print the traceback
    * if :rethrow: is False it will return :default: in case of exception
     
    Example:
    @ExceptionWrapper
    def funny():
        print 'what?'
        end
    
    funny()
    '''    
    def wrapper(*args,**kwargs):
        try:
            #logger.debug('Trying %s'%fun.__name__)
            result = fun(*args,**kwargs)
            #sys.stdout.write('fun DONE!!!\n')
            return result
        except DevFailed, e:
            exstring=getPreviousExceptions()            
            if verbose:
                print '-'*80
                #exstring = traceback.format_exc()
                logger.warning('DevFailed Exception Catched: \n%s'%exstring)
                try:
                    if showArgs: logger.info('%s(*args=%s, **kwargs=%s)'%(fun.__name__,args,kwargs))
                except:pass
                sys.stdout.flush(); sys.stderr.flush()
                print '-'*80

            if postmethod: postmethod(exstring)
            err = e.args[0]
            if rethrow:
                #Except.re_throw_exception(e,'','',"%s(...)"%fun.__name__)
                Except.throw_exception(err.reason, exstring, "%s(...)"%fun.__name__)
            else:
                #Except.throw_exception(err.reason,err.desc,err.origin)
                logger.warning(str((err.reason,err.desc,err.origin)))
                return default
        except Exception,e:
            #exstring = traceback.format_exc()
            exstring=getPreviousExceptions()
            if verbose:
                print '-'*80
                logger.error('Python Exception catched: \n%s'%exstring)
                try:
                    if showArgs: logger.info('%s(*args=%s, **kwargs=%s)'%(fun.__name__,args,kwargs))
                except:pass
                print '-'*80                                 
            if postmethod: postmethod(exstring)
            if rethrow:
              Except.throw_exception('Exception',exstring,"%s(...)"%fun.__name__)
            else:
              return default
开发者ID:ska-sa,项目名称:fandango,代码行数:60,代码来源:excepts.py

示例7: writeHook

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
 def writeHook(self, value):
     self.__reviewMonitorDependencies()
     formula = self._write
     modified = self._replaceAttrs4Values(formula, self._writeAttrs)
     solution = self._solve(value, modified)
     self.debug("write with VALUE=%s, %r means %s" % (value, formula, solution))
     if self.write_not_allowed is not None:
         if value != solution:
             PyTangoExcept.throw_exception("Write %s not allowed" % value,
                                           self.write_not_allowed,
                                           self.owner.name,
                                           ErrSeverity.WARN)
     self._lastWrite = solution
     return solution
开发者ID:srgblnch,项目名称:LinacDS,代码行数:16,代码来源:formulas.py

示例8: throw_sardana_exception

# 需要导入模块: from PyTango import Except [as 别名]
# 或者: from PyTango.Except import throw_exception [as 别名]
def throw_sardana_exception(exc):
    """Throws an exception as a tango exception"""
    if isinstance(exc, SardanaException):
        if exc.exc_info and not None in exc.exc_info:
            Except.throw_python_exception(*exc.exc_info)
        else:
            tb = "<Unknown>"
            if exc.traceback is not None:
                tb = str(exc.traceback)
            Except.throw_exception(exc.type, exc.msg, tb)
    elif hasattr(exc, 'exc_info'):
        Except.throw_python_exception(*exc.exc_info)
    else:
        raise exc
开发者ID:cmft,项目名称:sardana,代码行数:16,代码来源:util.py


注:本文中的PyTango.Except.throw_exception方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。