MST

星途 面试题库

面试题:Python异常处理机制的优化

在一个复杂的Python项目中,存在多层嵌套的函数调用,并且每个函数都可能抛出不同类型的异常。假设你需要在最外层捕获并处理所有异常,同时要保证异常信息的完整性,避免信息丢失或混淆,你会如何设计异常处理机制?请说明思路并给出简单代码示例。
32.9万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

思路

  1. 在最外层使用try - except语句块来捕获所有异常。
  2. 利用as关键字获取异常实例,这样可以保留完整的异常信息。
  3. 可以根据异常类型进行不同的处理,或者统一记录异常信息。

代码示例

def inner_function1():
    raise ValueError("This is a value error in inner_function1")


def inner_function2():
    inner_function1()


def outer_function():
    inner_function2()


try:
    outer_function()
except Exception as e:
    print(f"Caught exception: {type(e).__name__}, {e}")