Python 中异常处理的基本语法和用法是什么
在Python中,异常处理是一种用于检测和处理运行时错误的机制。异常处理的基本语法如下:
try: # 代码块 except ExceptionType: # 异常处理代码块 else: # 可选的代码块,在try块没有抛出异常时执行 finally: # 可选的代码块,在try块执行完毕后总是执行
其中,try关键字标志着要尝试执行的代码块,except关键字用于捕获指定类型的异常并执行相应的异常处理代码块,else关键字用于在try块没有抛出异常时执行可选的代码块,finally关键字用于在try块执行完毕后总是执行可选的代码块。
下面是一个示例,演示如何使用try/except语句来捕获并处理异常:
def divide(a, b): try: result = a / b except ZeroDivisionError: print("除数不能为0") else: print(f"{a}/{b} = {result}") finally: print("计算完成") divide(10, 2) # 输出:10/2 = 5.0,计算完成 divide(10, 0) # 输出:除数不能为0,计算完成
在上面的示例中,divide函数尝试计算两个参数的商。如果除数为0,将抛出ZeroDivisionError异常。通过在try块中执行计算,然后在except块中处理该异常,并在finally块中打印一条消息来实现异常处理。
另外,在except语句中也可以使用as关键字来指定一个异常对象的别名,以便在异常处理代码块中访问它的属性和方法。例如:
try: # 代码块 except ExceptionType as e: # 异常处理代码块,可以访问异常对象e的属性和方法
以下是一个使用异常对象别名的示例:
def print_website(name): try: if name == "pidancode.com": print("欢迎访问 pidancode.com!") else: raise ValueError(f"未知的网站:{name}") except ValueError as e: print(e) print_website("pidancode.com") # 输出:欢迎访问 pidancode.com! print_website("皮蛋编程") # 输出:未知的网站:皮蛋编程
在上面的示例中,print_website函数尝试打印欢迎消息,但如果传入的网站名不是“pidancode.com”,它将引发一个ValueError异常,并在except块中打印异常对象的错误消息。
相关文章