【Python进阶(一)】——异常与错误

简介: 【Python进阶(一)】——异常与错误

【Python进阶(一)】——异常与错误,建议收藏!

该篇文章主要演示Python中的异常与错误,包括try/except/finally的使用;异常信息显示模式;断言等内容。

1 try/except/finally

  运行程序:

try: #可能发生异常的语句
    f=open('myfile.txt','w')
    while True:
        s=input("请输入Q")
        if s.upper()=='Q':break
        f.write(s+'\n')
except KeyboardInterrupt: #发生此异常时,要执行的语句;except:发生其他异常时要执行的语句;else:无异常时,要执行的语句
    print("程序中断")
finally:
    f.close()#不管是否发生异常,都要执行的语句

  运行结果:

请输入Qq

2 异常信息的显示模式

2.1 异常信息显示模式1:Plain

  运行程序:

%xmode Plain  #异常信息显示模式1:Plain
x=1
x1

  运行结果:

Exception reporting mode: Plain
Traceback (most recent call last):
  File "<ipython-input-37-d5101d382d83>", line 3, in <module>
    x1
NameError: name 'x1' is not defined

2.2 异常信息显示模式1:Plai2

  运行程序:

%xmode Verbose #异常信息显示模式2:Verbose
x=1
x1

  运行结果:

Traceback (most recent call last):
  File "<ipython-input-38-443ceef4ba36>", line 3, in <module>
    x1
NameError: name 'x1' is not defined

2.3 异常信息显示模式3:Context(默认值)

  运行程序:

%xmode Context  #异常信息显示模式3:Context(默认值)
x=1
x1

  运行结果:

Traceback (most recent call last):
  File "<ipython-input-39-d2b0226b5ef6>", line 3, in <module>
    x1
NameError: name 'x1' is not defined

3 断言

  运行程序:

##断言主要用于“设置检查点”
a=1
b=2
assert b!=0 , "分母不能等于0"  #assert后未检查条件,当此条件为假时,抛出断言,条件为真,则不能抛出AssertionError
a=1
b=0
assert b!=0 , "分母不能等于0"  #条件为假,抛出AssertionError

  运行结果:

Traceback (most recent call last):
  File "<ipython-input-44-b71c74981dc7>", line 3, in <module>
    assert b!=0 , "分母不能等于0"
AssertionError: 分母不能等于0


相关文章
|
15小时前
|
Java Python
Python进阶之旅:深入理解变量作用域、垃圾回收、拷贝机制与异常处理
Python进阶之旅:深入理解变量作用域、垃圾回收、拷贝机制与异常处理
|
15小时前
|
Python
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
|
7天前
|
编译器 索引 Python
Python常见异常类型说明及触发代码示例
开发过程中需要根据具体情况选择处理异常,并使用try-except语句来捕获并处理异常,从而保证程序的健壮性和稳定性。在Python中,异常是程序执行期间发生的错误或意外情况。当解释器遇到异常时,会停止程序的正常执行,并在控制台输出异常的相关信息。Python中有许多不同的异常类型,每个异常类型表示不同的错误或意外情况。OSError:操作系统产生的异常(例如打开一个不存在的文件)。AttributeError:尝试访问一个对象没有的属性。UnicodeError:Unicode相关的异常。
13 5
|
8天前
|
SQL 关系型数据库 MySQL
Python进阶第二篇(Python与MySQL数据库)
Python进阶第二篇(Python与MySQL数据库)
|
8天前
|
Python
Python进阶第一篇(Python的面向对象)
Python进阶第一篇(Python的面向对象)
|
8天前
|
Python
Python基础第六篇(Python函数进阶)
Python基础第六篇(Python函数进阶)
|
12天前
|
开发者 Python
Python进阶--装饰器
Python进阶--装饰器
|
12天前
|
存储 Python
Python零基础入门-8 错误和异常
Python零基础入门-8 错误和异常
|
12天前
|
Python
python执行elasticsearch异常【已解决】
python执行elasticsearch异常【已解决】
13 2