例外处理
在Python中,try
和 except
是用来处理异常的关键字。它们让你能够在代码中检测和处理可能引发异常的情况,以确保程序在遇到问题时不会崩溃,而是能够优雅地处理错误情况。
基本用法
以下是 try
和 except
的基本用法:
try: # 可能引发异常的代码 result = 10 / 0 # 这里故意引发了一个除零异常except Exception as e: # 异常处理代码 print(f"发生异常: {e}")
在上面的代码中,我们在 try
块中放置了可能引发异常的代码,这里故意除以零引发了一个异常。然后,在 except
块中,我们定义了异常处理代码,它会捕获并处理 Exception
类型的异常(这是一个通用的异常类型),然后印出异常信息。
你也可以捕获特定类型的异常,例如:
try: num = int("abc") # 这里故意引发了一个 ValueError 异常except ValueError as e: print(f"数值转换异常: {e}")
在这个例子中,我们只捕获了 ValueError
异常,这是在试图将字符串 "abc" 转换为整数时引发的异常。
使用 try
和 except
可以确保你的程序在出现异常时不会崩溃,而是能够以一种受控的方式处理异常情况,让你能够优雅地处理错误并採取适当的措施。
不同类型的异常
在Python中,你可以使用不同的 except
子句来捕获不同类型的异常。
以下是一些常见的异常类型及其相应的 except
子句:
except
子句来捕获所有类型的异常。这在除错时可能很有用,但要小心不要滥用,因为它会捕获所有异常,包括你未预期的异常。pythonCopy codetry: # 可能引发异常的代码except Exception as e: # 异常处理代码
指定特定异常类型:如果你只想捕获特定类型的异常,可以指定相应的异常类型。pythonCopy codetry: # 可能引发异常的代码except ValueError as e: # 处理 ValueError 异常except ZeroDivisionError as e: # 处理 ZeroDivisionError 异常
多个异常捕获:你可以在一个 except
子句中捕获多个异常类型,这样可以使用相同的处理代码处理它们。try: # 可能引发异常的代码except (ValueError, ZeroDivisionError) as e: # 处理 ValueError 和 ZeroDivisionError 异常
捕获所有异常:如果你希望捕获所有异常,而不管它们的类型,可以使用 except
子句而不指定异常类型。try: # 可能引发异常的代码except: # 处理所有异常
最终执行:你可以使用 finally
子句来指定无论是否发生异常都要执行的代码。这通常用于清理工作,例如关闭文件或资源。pythonCopy codetry: # 可能引发异常的代码except SomeException as e: # 处理异常finally: # 无论是否有异常,都会执行的代码
请根据你的程序需要选择适当的 except
子句,以确保你能够处理预期的异常并优雅地处理错误情况。
异常类型
10个常见的Python异常类型
结论
例外处理非常的实用,可以在程式发生异常的时候捕捉到,避免程式整个停止不动或提前结束,常常会搭配Log纪录,让你知道是哪变出错了,工程师在查看问题的时候才有明确的知道问题,加快处理的时间。
系列文章
分享所学贡献社会
[Python教学]开发工具介绍
[开发工具] Google Colab 介绍
[Python教学] 资料型态
[Python教学] if判断式
[Python教学] List 清单 和 Tuple元组
[Python教学] for 和 while 迴圈
[Python教学] Dictionary 字典 和 Set 集合
[Python教学] Function函示
[Python教学] Class 类别
[Python教学] 例外处理
最后最后有一件小小的请求,请大家帮我填写一下问卷,
让我们知道你想上怎么样课程,感激不尽。
问卷这边
Facebook 粉丝页 - TechMasters 工程师养成记
程式教育 - 工程师养成记
同步分享到部落格