【Python】异常处理及程序调试

1.异常的基本概念

在运行过程中,经常会遇到各种各样的错误,这些错误统称为“异常”。其中,一部分“异常”是由开发者直接输入导致,这类错误多数产生的是SyntaxError:invalid syntax(无效的语法),这将直接导致程序无法运行。

常见例子如下:

会弹出语法错误提示

输出TypeError,说明str类型和int类型不能串联。

常见的异常类型

异常描述
NameError试图访问的变量名不存在
IndexError索引超出序列范围引发的错误
Exception常规错误的基类
SyntaxErrorPython语法错误
SystemError一般的解释器系统错误
Warning警告的基类
SyntaxWarning可疑的语法警告
UserWarning用户代码生成的警告

2.异常处理语句

①try…except语句

在Python中,提供了try…except语句捕获并且处理异常,语法格式如下:

try:
    block1
except[ExceptionName[as alias]]:
    block2

参数说明如下:

block1:表示可能出现错误的代码块。

ExceptionName[as alias]:可选参数,用于指定要捕获的异常

block2:表示进行异常处理的代码块。这里可以输出固定的信息提示,也可以通过别名输出异常的具体内容。

Python语言使用保留字try和except进行异常处理。语法如下:

try:
    <语句块1>
except:
    <语句块2>

如果在except后面指明错误类型的基本语法格式:

try:
    <语句块1>
except<异常处理类型>:
    <语句块2>

②try…except…else语句

工作原理是在上一个语句后面加上else子语句。

示例:

a=10
b=0
try:
    c=b/a
    print('c')
except (IOError,ZeroDivisionError),x:
    print x
else:
    print("no error")
print("done")

运行结果:

c
noerror
done

③try…except…finally语句

语法格式:

try:
    block1
except [ExceptionName[as alias]]:
    block2
finally:
    block3

示例:

④使用raise语句抛出异常

#!/user/bin/env python3

raise Exception("错误信息")

3.使用IDLE和assert语句进行程序调试

(1)使用Python自带的IDLE进行程序调试

①打开IDLE Shell,并在其中单击菜单栏Debug中的Debugger,如图:

之后,会弹出DebugControl的对话框(此时对话框是空白的,如图所示):

②从IDLE Shell中打开想要调试的.py的文件,选中某行,右键设置断点。

③添加断点之后,单击菜单栏Run中的RunModule,运行.py文件

④DebugControl对话框中将显示程序的执行信息。

(2)使用assert语句进行程序调试

语法格式如下:

assert 条件表达式 [,描述信息]

assert语句的作用是:当条件表达式的值为真时,该语句什么也不做,程序正常运行,反之,若值为假,则assert会抛出AssertionError异常。其中,[,描述信息]作为可选参数,用于对条件表达式可能产生的异常进行描述。

通常情况下,assert语句可以和try…except异常处理语句配合使用。

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值