MST

星途 面试题库

面试题:Python异常处理中的自定义异常及链式调用

定义一个自定义异常类MyCustomError,该异常类继承自内置的Exception类。编写一个函数,该函数接收一个字符串参数,如果字符串长度小于5,引发MyCustomError异常。在另一个函数中调用这个函数,并使用try - except块捕获异常,捕获到异常后,将异常信息包装在另一个自定义异常类WrappedCustomError中(该类也继承自Exception),然后再次抛出WrappedCustomError异常,并在主程序中捕获这个最终的异常,打印出完整的异常链信息。
21.6万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
class MyCustomError(Exception):
    pass

class WrappedCustomError(Exception):
    pass

def check_string_length(s):
    if len(s) < 5:
        raise MyCustomError("字符串长度小于5")
    return s

def wrapper_function(s):
    try:
        return check_string_length(s)
    except MyCustomError as e:
        raise WrappedCustomError from e

if __name__ == "__main__":
    try:
        wrapper_function("abc")
    except WrappedCustomError as e:
        print("捕获到最终异常,异常链信息如下:")
        raise