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


Python traceback.format_exception方法代码示例

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


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

示例1: addFailure

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def addFailure(self, test, err, capt=None):
        """Add failure output to Xunit report.
        """
        exc_type, exc_val, tb = err
        tb = ''.join(traceback.format_exception(
            exc_type,
            exc_val if isinstance(exc_val, exc_type) else exc_type(exc_val),
            tb
        ))
        name = id_split(test.id())
        group = self.report_data[name[0]]
        self.stats['failures'] += 1
        group.stats['failures'] += 1
        group.tests.append({
            'name': name[-1],
            'failed': True,
            'errtype': nice_classname(err[0]),
            'message': exc_message(err),
            'tb': tb,
        }) 
开发者ID:ionelmc,项目名称:nose-htmloutput,代码行数:22,代码来源:__init__.py

示例2: handle_exception

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def handle_exception(exc_type, exc_value, exc_traceback):
    """ handle all exceptions """

    # KeyboardInterrupt is a special case.
    # We don't raise the error dialog when it occurs.
    if issubclass(exc_type, KeyboardInterrupt):
        return

    Logger.error("Unhandled Exception:")
    Logger.error("".join(traceback.format_exception(exc_type, exc_value, exc_traceback)))
    try:
        App.get_running_app().stop()
    except Exception:
        pass


# we want to handle TERM signal cleanly (sent by sv down) 
开发者ID:wolfmanjm,项目名称:kivy-smoothie-host,代码行数:19,代码来源:main.py

示例3: save

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def save(ops, cnt):
    f = open("%d.ops" % cnt, "w")

    tbLines = traceback.format_exception(*sys.exc_info())

    for l in tbLines:
        # traceback lines contain embedded newlines so it gets a bit
        # complex escaping every line with # and keeping the formatting
        # correct.
        f.write("#" + l.rstrip().replace("\n", "\n#") + "\n")

    f.write(ops.save())
    f.close()

    f = open("%d.trelby" % cnt, "w")
    f.write(ops.sp.save())
    f.close() 
开发者ID:trelby,项目名称:trelby,代码行数:19,代码来源:t_random.py

示例4: handle_exception

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def handle_exception(title="Exception raised!"):
    '''Displays a traceback in a window if an exception is raised.
       If the user clicks on "abort", sys.exit() is called and the
       program ends.  If the user clicks on "ignore", the program
       resumes its execution.

       :param title: the window title

       .. image:: ../docs/images/handle_exception.png
    '''
    try:
        message = "\n".join(traceback.format_exception(sys.exc_info()[0],
                        sys.exc_info()[1] , sys.exc_info()[2]))
    except AttributeError:
        return "No exception was raised"

    get_abort(title=title, message=message) 
开发者ID:aroberge,项目名称:easygui_qt,代码行数:19,代码来源:easygui_qt.py

示例5: write_error

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def write_error(self, status_code, **kwargs):
        """复写这个方法来实现自定义错误页.

        ``write_error`` 可能调用 `write`, `render`, `set_header`,等
        来产生一般的输出.

        如果错误是由未捕获的异常造成的(包括HTTPError), 三个一组的
        ``exc_info`` 将变成可用的通过 ``kwargs["exc_info"]``.
        注意这个异常可能不是"当前(current)" 目的或方法的异常就像
        ``sys.exc_info()`` 或 ``traceback.format_exc``.
        """
        if self.settings.get("serve_traceback") and "exc_info" in kwargs:
            # in debug mode, try to send a traceback
            self.set_header('Content-Type', 'text/plain')
            for line in traceback.format_exception(*kwargs["exc_info"]):
                self.write(line)
            self.finish()
        else:
            self.finish("<html><title>%(code)d: %(message)s</title>"
                        "<body>%(code)d: %(message)s</body></html>" % {
                            "code": status_code,
                            "message": self._reason,
                        }) 
开发者ID:tao12345666333,项目名称:tornado-zh,代码行数:25,代码来源:web.py

示例6: getrepr

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def getrepr(self, showlocals=False, style="long",
                abspath=False, tbfilter=True, funcargs=False):
        """ return str()able representation of this exception info.
            showlocals: show locals per traceback entry
            style: long|short|no|native traceback style
            tbfilter: hide entries (where __tracebackhide__ is true)

            in case of style==native, tbfilter and showlocals is ignored.
        """
        if style == 'native':
            return ReprExceptionInfo(ReprTracebackNative(
                traceback.format_exception(
                    self.type,
                    self.value,
                    self.traceback[0]._rawentry,
                )), self._getreprcrash())

        fmt = FormattedExcinfo(
            showlocals=showlocals, style=style,
            abspath=abspath, tbfilter=tbfilter, funcargs=funcargs)
        return fmt.repr_excinfo(self) 
开发者ID:pytest-dev,项目名称:py,代码行数:23,代码来源:code.py

示例7: _timed_block_factory

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def _timed_block_factory(opening_text):
    from timeit import default_timer as timer
    from traceback import format_exception
    from sys import exc_info

    def _timed_block_decorator(s, before=None, after=None):
        display(opening_text, s)

        def wrapper(func):
            if callable(before):
                before()
            time = timer()
            try:
                func()
            except AssertionError as e:
                display('FAILED', str(e))
            except Exception:
                fail('Unexpected exception raised')
                tb_str = ''.join(format_exception(*exc_info()))
                display('ERROR', tb_str)
            display('COMPLETEDIN', '{:.2f}'.format((timer() - time) * 1000))
            if callable(after):
                after()
        return wrapper
    return _timed_block_decorator 
开发者ID:codewars,项目名称:python-test-framework,代码行数:27,代码来源:test_framework.py

示例8: _gather_crash_info

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def _gather_crash_info(self):
        self._crash_info += [
            ("Exception", ''.join(traceback.format_exception(*self._exc))),
        ]
        super()._gather_crash_info()
        if self._chk_log.isChecked():
            self._crash_info += [
                ("Commandline args", ' '.join(sys.argv[1:])),
                ("Open Pages", '\n\n'.join('\n'.join(e) for e in self._pages)),
                ("Command history", '\n'.join(self._cmdhist)),
                ("Objects", self._qobjects),
            ]
            try:
                text = "Log output was disabled."
                if log.ram_handler is not None:
                    text = log.ram_handler.dump_log()
                self._crash_info.append(("Debug log", text))
            except Exception:
                self._crash_info.append(("Debug log", traceback.format_exc())) 
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:21,代码来源:crashdialog.py

示例9: import_class

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def import_class(import_str):
    """
    Returns a class from a string that specifies a module and/or class

    :param import_str: import path, e.g. 'httplib.HTTPConnection'
    :returns imported object
    :raises: ImportedError if the class does not exist or the path is invalid
    """
    (mod_str, separator, class_str) = import_str.rpartition('.')
    try:
        __import__(mod_str)
        return getattr(sys.modules[mod_str], class_str)
    except (ValueError, AttributeError):
        raise ImportError('Class %s cannot be found (%)' %
                          (class_str,
                           traceback.format_exception(*sys.exc_info()))) 
开发者ID:openstack,项目名称:pyeclib,代码行数:18,代码来源:utils.py

示例10: emit

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def emit(self, record: logging.LogRecord):
        """Print the log record formatted as JSON to stdout."""
        created = datetime.datetime.fromtimestamp(record.created, timezone)
        obj = {
            "level": record.levelname.lower(),
            "msg": record.msg % record.args,
            "source": "%s:%d" % (record.filename, record.lineno),
            "time": format_datetime(created),
            "thread": reduce_thread_id(record.thread),
        }
        if record.exc_info is not None:
            obj["error"] = traceback.format_exception(*record.exc_info)[1:]
        try:
            obj["context"] = self.local.context
        except AttributeError:
            pass
        json.dump(obj, sys.stdout, sort_keys=True)
        sys.stdout.write("\n")
        sys.stdout.flush() 
开发者ID:src-d,项目名称:modelforge,代码行数:21,代码来源:slogging.py

示例11: task

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def task(*d_args, **d_kwargs):
    # behaves like @task, but emails about exceptions.
    def real_decorator(f):
        @shared_task(*d_args, **d_kwargs)
        @wraps(f)
        def wrapper(*f_args, **f_kwargs):
            # try the task; email any exceptions we get
            try:
                res = f(*f_args, **f_kwargs)
            except Exception as e:
                # email admins and re-raise
                exc_type, exc_value, exc_traceback = sys.exc_info()
                subject = 'task failure in %s.%s' % (f.__module__, f.__name__)
                msg = 'The task %s.%s failed:\n\n%s' % (f.__module__, f.__name__,
                        '\n'.join(traceback.format_exception(exc_type, exc_value, exc_traceback)))
                mail_admins(subject=subject, message=msg, fail_silently=True)
                raise

            return res
        return wrapper
    return real_decorator 
开发者ID:sfu-fas,项目名称:coursys,代码行数:23,代码来源:celerytasks.py

示例12: periodic_task

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def periodic_task(*d_args, **d_kwargs):
    # behaves like @periodic_task, but emails about exceptions.
    def real_decorator(f):
        @celery_periodic_task(*d_args, **d_kwargs)
        @wraps(f)
        def wrapper(*f_args, **f_kwargs):
            # try the task; email any exceptions we get
            try:
                res = f(*f_args, **f_kwargs)
            except Exception as e:
                # email admins and re-raise
                exc_type, exc_value, exc_traceback = sys.exc_info()
                subject = 'task failure in %s.%s' % (f.__module__, f.__name__)
                msg = 'The periodic task %s.%s failed:\n\n%s' % (f.__module__, f.__name__,
                        '\n'.join(traceback.format_exception(exc_type, exc_value, exc_traceback)))
                mail_admins(subject=subject, message=msg, fail_silently=True)
                raise

            return res
        return wrapper
    return real_decorator 
开发者ID:sfu-fas,项目名称:coursys,代码行数:23,代码来源:celerytasks.py

示例13: handle_alias_exception

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def handle_alias_exception(ctx, err):
    e = err.original
    location = ''
    if isinstance(e, AvraeException):
        return await ctx.channel.send(err)
    elif isinstance(e, draconic.InvalidExpression):
        try:
            location = f" on line {e.node.lineno}, col {e.node.col_offset}"
        except AttributeError:
            pass
    elif isinstance(e, draconic.DraconicSyntaxError):
        location = f" on line {e.lineno}, col {e.offset}"
    tb = ''.join(traceback.format_exception(type(e), e, e.__traceback__, limit=0, chain=False))
    try:
        await ctx.author.send(
            f"```py\n"
            f"Error{location} when parsing expression {err.expression}:\n"
            f"{tb}\n"
            f"```")
    except:
        pass
    return await ctx.channel.send(err) 
开发者ID:avrae,项目名称:avrae,代码行数:24,代码来源:helpers.py

示例14: handle_exception

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def handle_exception(exc_type, exc_value, exc_traceback):
    """Log unhandled exceptions."""
    message = "".join(traceback.format_exception(exc_type, exc_value, exc_traceback))
    logger.error("Unhandled exception in executor: {}".format(message))

    loop.run_until_complete(
        asyncio.gather(
            *logging_future_list,
            manager_commands.send_manager_command(
                ExecutorProtocol.UPDATE,
                extra_fields={
                    ExecutorProtocol.UPDATE_CHANGESET: {
                        "process_error": ["Unhandled exception in executor."],
                        "status": DATA_META["STATUS_ERROR"],
                    }
                },
            ),
            manager_commands.send_manager_command(
                ExecutorProtocol.ABORT, expect_reply=False
            ),
        )
    ) 
开发者ID:genialis,项目名称:resolwe,代码行数:24,代码来源:__main__.py

示例15: _retrial

# 需要导入模块: import traceback [as 别名]
# 或者: from traceback import format_exception [as 别名]
def _retrial(func, *args, **kwargs):
    """
    Retrial method
    """
    delay = 0
    while True:
        try:
            return func(*args, **kwargs)
        except DataIdentifierNotFound as error:
            logging.warning(error)
            return 1
        except DatabaseException as error:
            logging.error(error)
            if exp(delay) > 600:
                logging.error('Cannot execute %s after %i attempt. Failing the job.' % (func.__name__, delay))
                raise
            else:
                logging.error('Failure to execute %s. Retrial will be done in %d seconds ' % (func.__name__, exp(delay)))
            time.sleep(exp(delay))
            delay += 1
        except Exception:
            exc_type, exc_value, exc_traceback = exc_info()
            logging.critical(''.join(format_exception(exc_type, exc_value, exc_traceback)).strip())
            raise 
开发者ID:rucio,项目名称:rucio,代码行数:26,代码来源:transmogrifier.py


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