【python基础——异常BUG】

什么是异常(BUG)

检测到错误,py编译器无法继续执行 ,反而出现错误提示

如果遇到错误能继续执行 ,那么就捕获(try)

1.得到异常:try的执行,try内 可以捕获一个 异常

2.预案执行:except后面的语句

3.传入异常:except ... as uestc+print(uestc)

4.没有异常:else...

5.鉴定完毕,收尾的语句(必然执行):finally #常应用于f.close()

BUG举例:

打开一个不存在的文件: No such file or directory: '不存在的文件'

异常的情况:

1.整个程序因为一个BUG失灵崩溃中断

2.对BUG提醒,程序继续进行(*)

显然,我们遇到的BUG大多因为1,但是我们希望是2

捕获异常:

1.所有异常,提前假设某处出现异常,做好预备工作

python 复制代码
 	try:
        可能发生错误的代码
    except:
        应对措施
    except Exception as e:#exception是所有异常的父类,可以通过不具体指定也了解该异常
        print("捕捉到异常,你猜猜在哪(。・∀・)ノ")
    else:
        print("没有异常(●'◡'●)")
    finally:
        print("无论如何你都会看到我,因为我是finally(*/ω\*)")

例子

python 复制代码
# f=open("linux.txt","r",encoding="utf-8")#没有此文件,故出现红字提示异常中断
try:
    f = open("linux.txt", "r", encoding="utf-8")
except Exception as e:
    print("出现异常,猜猜是谁(。・∀・)ノ:", e)
    f = open("bug.txt", "w", encoding="utf-8")# 写入不存在的文件会自动创建,但是读入不可以

2.捕获指定异常 :先运行代码,如果报错,把错误类型复制然后except这种类型异常的处理

python 复制代码
   try:
       print(TOT)
   except NameError as namebug
       print("namebug变量名称未定义错误")

3.捕获指定多种异常(但仍然捕获一个,只是不限类型)

python 复制代码
  try:
    a=1/0
except (ZeroDivisionError,NameError) as e2:
    print("捕捉到异常啦!o(* ̄▽ ̄*)ブ :",e2)
python 复制代码
try:
    a=1/0 #a=1/10则有异常
except:
    print("出现异常ヽ(*。>Д<)o゜")
else:
    print("没有异常φ(゜▽゜*)♪")
finally:
    print("鉴定完毕,收工(づ ̄ 3 ̄)づ")#不管有无异常都要执行

异常的传递

嵌套函数的内部如果异常且没有捕获,那么这个异常会传递给调用它的函数

如果嵌套函数生命周期内都没有捕获异常,程序就会报错

相关推荐
花酒锄作田5 小时前
FastAPI 使用 session 认证
python·fastapi
lsswear5 小时前
Python 并发 线程
开发语言·python
Ivanqhz6 小时前
MLIR OpBuilder
开发语言·python·mlir
威联通安全存储8 小时前
TS-h2287XU-RP 在家电制造总装与质检数据场景的部署
python·制造
泡泡鱼(敲代码中)9 小时前
Python 字符串 str 完整学习笔记
python·学习
troy1289 小时前
Python 基础语法(八):Web 后端开发、数据分析与可视化、网络爬虫、人工智能 / 大模型应用
前端·python·数据分析
我不会起名字3229 小时前
一天一道算法题(34):回溯法的经典例题(子集)
java·数据结构·python·算法·golang·深度优先·力扣
ThornArmor10 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
毕业设计70310 小时前
(免费领源码)基于Python的博物馆研学活动管理系统的设计与实现22724- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·mysql·随机森林·pycharm·django·flask·推荐算法
kyrie_sakura10 小时前
python学习笔记15 -- Anaconda,Jupyter,numpy
python·学习·jupyter·numpy