【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


相关文章
|
12天前
|
存储 索引 Python
|
13天前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
24天前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
18 1
|
2月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
1月前
|
开发者 索引 Python
Python常见的异常总结
Python 中的异常是一个非常广泛的主题,因为它包含许多内置的异常类型,这些类型可以处理各种运行时错误。
20 0
|
4月前
|
数据采集 网络协议 数据挖掘
网络爬虫进阶之路:深入理解HTTP协议,用Python urllib解锁新技能
【7月更文挑战第30天】网络爬虫是数据分析和信息聚合的关键工具。深入理解HTTP协议及掌握Python的urllib库对于高效爬虫开发至关重要。HTTP协议采用请求/响应模型,具有无状态性、支持多种请求方法和内容协商等特点。
48 3
|
4月前
|
机器学习/深度学习 运维 监控
使用Python实现深度学习模型:智能安防监控与异常检测
【7月更文挑战第26天】 使用Python实现深度学习模型:智能安防监控与异常检测
60 6
|
3月前
|
API C++ Python
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
|
3月前
|
存储 Python
Python 中的用户定义异常
【8月更文挑战第23天】
29 0
|
4月前
|
网络协议 开发者 Python
网络编程小白秒变大咖!Python Socket基础与进阶教程,轻松上手无压力!
【7月更文挑战第25天】在网络技术快速发展的背景下, Python因其简洁的语法和强大的库支持成为学习网络编程的理想选择。
67 5