在Python中执行异常处理的基本步骤!
在Python中执行异常处理的基本步骤!
前言
在Python中,异常处理是通过try
和except
语句块来完成的。这允许你检测并处理代码块中可能出现的错误,从而防止程序因为未处理的异常而意外终止。以下是如何在Python中执行异常处理的基本步骤:
1. 使用try和except
1
2
3
4
5
6
|
try : # 尝试执行的代码块 result = 10 / 0 # 这会引发一个ZeroDivisionError异常 except ZeroDivisionError: # 如果try块中的代码引发了ZeroDivisionError异常,则执行这个块 print ( "除数不能为0" ) |
在这个例子中,尝试执行的代码块试图执行一个除以零的操作,这会触发ZeroDivisionError
异常。由于我们使用了except ZeroDivisionError:
来捕获这个异常,所以程序会打印出“除数不能为0”,而不是因为未处理的异常而崩溃。
2. 捕获多种异常
你可以在一个try
块后面跟随多个except
块来捕获不同类型的异常。
1
2
3
4
5
6
7
8
9
10
|
try : # 尝试执行的代码块 number = int ( input ( "请输入一个数字:" )) result = 10 / number except ValueError: # 如果输入不能被转换为整数,则执行这个块 print ( "请输入一个有效的整数" ) except ZeroDivisionError: # 如果尝试除以零,则执行这个块 print ( "除数不能为0" ) |
3. 使用else和finally
else
块是可选的,当try
块没有引发异常时执行。finally
块也是可选的,无论是否发生异常,finally
块中的代码都会被执行。这通常用于执行清理操作,如关闭文件或释放资源。123456789101112try
:
# 尝试执行的代码块
print
(
"尝试执行"
)
except
Exception as e:
# 捕获所有异常
print
(f
"发生错误:{e}"
)
else
:
# 如果没有异常发生
print
(
"执行成功"
)
finally
:
# 无论如何都会执行
print
(
"执行清理"
)
4. 捕获所有异常
如果你想捕获所有类型的异常(这通常不是最佳实践,因为它会隐藏潜在的问题),你可以使用except Exception
(而不是具体的异常类型)。
1
2
3
4
5
6
|
try : # 尝试执行的代码块 pass except Exception as e: # 捕获所有异常 print (f "捕获到异常:{e}" ) |
然而,最好避免这种做法,除非你确实需要捕获所有异常,并且你有足够的理由这样做(例如,你正在编写一个需要捕获所有可能错误的通用异常处理库)。
5. 抛出异常
你也可以使用raise
语句来抛出异常,无论是内置的异常还是自定义的异常。
1
2
3
4
5
6
7
8
9
10
|
def check_number(number): if number < 0 : raise ValueError( "数字不能是负数" ) else : return number try : result = check_number( - 1 ) except ValueError as e: print (e) |
在这个例子中,如果传递给check_number
函数的数字是负数,则会抛出一个ValueError
异常,并在except
块中被捕获和处理。
附:异常问题的解决方法
TabError的解决方法
问题:Python文件运行时报错如下:
TabError: inconsistent use of tabs and spaces in indentation
原因:说明Python文件中混有Tab和Space用作格式缩进。这通常是使用外部编辑器编辑Python文件时,自动采用Tab进行格式缩进。
解决:将Tab转换成4个Space(通常)或者用Python编辑器(如pyDev)格式化。
EOFError的解决方法
使用pickle.load(f) 加载 pickle 文件时,报错:
EOFError: Ran out of input
可能原因:文件为空
解决方法:加载非空文件,或者加载前判断文件是否为空。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论