Exception

异常信息保存方法 save exception

使用 sys.exc_info() -> tuple[Exception_type, Exception_object, Traceback_object]

异常处理工具:

  • 获取: sys.exc_info()

    • traceback 获取:

      • your_exception.__traceback__
  • 转换成字符串和打印: traceback 模块

    • 字符串:

      • 异常栈: traceback.format_tb(traceback_object)
      • 异常类: traceback.format_exception(exception_object)
      • 当前异常类: traceback.format_exc()
    • 打印:

      • 异常栈: traceback.print_tb(traceback_object)
      • 异常类: traceback.print_exception(exception_object)
      • 当前异常类: traceback.print_exc()
  • 最后一个异常获取:

Nougat

把 nougat 改造成支持图片解析

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import app


def get_image_predict(img: Image):
    model_output = app.model.inference(img)

    predictions = []
    for j, output in enumerate(model_output["predictions"]):
        if model_output["repeats"][j] is not None:
            if model_output["repeats"][j] > 0:
                disclaimer = "\n\n+++ ==WARNING: Truncated because of repetitions==\n%s\n+++\n\n"
            else:
                disclaimer = (
                    "\n\n+++ ==ERROR: No output for this page==\n%s\n+++\n\n"
                )
            rest = app.close_envs(model_output["repetitions"][j]).strip()
            if len(rest) > 0:
                disclaimer = disclaimer % rest
            else:
                disclaimer = ""
        else:
            disclaimer = ""

        predictions.append(app.markdown_compatible(output) + disclaimer)


    return "".join(predictions).strip()

Themes