Python---异常

捕获全部异常

语法:

try:

可能发生的错误代码

except:

如果出现异常执行的代码

例子:

python 复制代码
try:
    open("test2.txt", "r", encoding="UTF-8")
except:
    print("出现异常,文件不存在,换个模式打开")
    open("test2.txt", "w", encoding="UTF-8")

捕获指定异常

语法:

try:

可能发生的错误代码

except 异常名字 as e:

如果出现异常执行的代码

例子:

python 复制代码
try:
    print(name)
    # 1 / 0
except NameError as e:
    print("捕获指定异常")

捕获多个指定异常

语法:

try:

可能发生的错误代码

except (异常名字1,异常名字2) as e:

如果出现异常执行的代码

例子:

python 复制代码
try:
    1 / 0
except (NameError, ZeroDivisionError) as e:
    print("捕获多个指定异常")

捕获全部异常(使用较多)

语法:

try:

可能发生的错误代码

except Exception as e:

如果出现异常执行的代码

例子:

python 复制代码
try:
    1 / 0
except Exception as e:
    print("捕获所有异常")

异常else --- 没有异常执行的代码

语法:

try:

可能发生的错误代码

except Exception as e:

如果出现异常执行的代码

else:

没有异常执行的代码

例子:

python 复制代码
try:
    open("test.txt", "r", encoding="UTF-8")
except Exception as e:
    print("出现异常了")
else:
    print("没有异常")

异常的finally --- 无论是否有异常都要执行的代码

语法:

try:

可能发生的错误代码

except Exception as e:

如果出现异常执行的代码

finally:

无论是否有异常都要执行的代码

例子:

python 复制代码
try:
    f = open("test.txt", "r", encoding="UTF-8")
except Exception as e:
    print("出现异常了")
    f = open("test.txt", "w", encoding="UTF-8")
else:
    print("没有异常")
finally:
    f.close()

异常具有传递性

例子:

python 复制代码
def func01():
    print("1-1")
    num = 1/0
    print("1-2")

def func02():
    print("2-1")
    func01()
    print("2-2")

def main():
    print("3-1")
    try:
        func02()
    except Exception as e:
        print(e)
    print("3-2")

main()
相关推荐
智航GIS1 分钟前
10.6 Scrapy:Python 网页爬取框架
python·scrapy·信息可视化
清水白石00830 分钟前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
山海青风34 分钟前
图像识别零基础实战入门 1 计算机如何“看”一张图片
图像处理·python
彼岸花开了吗1 小时前
构建AI智能体:八十、SVD知识整理与降维:从数据混沌到语义秩序的智能转换
人工智能·python·llm
山土成旧客1 小时前
【Python学习打卡-Day40】从“能跑就行”到“工程标准”:PyTorch训练与测试的规范化写法
pytorch·python·学习
闲人编程1 小时前
消息通知系统实现:构建高可用、可扩展的企业级通知服务
java·服务器·网络·python·消息队列·异步处理·分发器
大神君Bob2 小时前
【AI办公自动化】如何使用Pytho让Excel表格处理自动化
python
Heorine2 小时前
数学建模 绘图 图表 可视化(6)
python·数学建模·数据可视化
栈与堆2 小时前
LeetCode-1-两数之和
java·数据结构·后端·python·算法·leetcode·rust
智航GIS3 小时前
10.7 pyspider 库入门
开发语言·前端·python