MSCBSC 移动通信论坛
搜索
登录注册
网络优化工程师招聘专栏 4G/LTE通信工程师最新职位列表 通信实习生/应届生招聘职位

  • 阅读:2969
  • 回复:0
PYTHON学习笔记【异常简介】
细阿哥
中级会员
鎵嬫満鍙风爜宸查獙璇


 发短消息    关注Ta 

积分 500
帖子 100
威望 4542 个
礼品券 15 个
专家指数 0
注册 2009-2-25
专业方向  通信
回答问题数 0
回答被采纳数 0
回答采纳率 0%
 
发表于 2019-10-31 15:50:10  只看楼主 

1     异常简介

捕获异常try...except...

1

try:
   
print(a)
    i =
1/0    # 如果前面出现异常,拋出错误,本行没有执行
except (NameError, ZeroDivisionError) as e:#捕获多个异常
   
print("出现异常:%s"%e)

输出:

出现异常:name 'a' is not defined

 

2

f=None
try
#从本行开始捕获异常
   
f = open("text.txt")
   
try:
        content = f.read()
        content.index(
"hadoop")
   
except Exception as ex:  # 捕获所有异常
       
print(ex)
except FileNotFoundError as ex:  # 捕获文件不存在的异常
   
print(ex)
else:#没有异常的情况会自动执行的代码
   
print("没有异常的情况会自动执行的代码")
finally# 最终要执行的代码,不管前面是否出现 异常
   
print("关闭文件")
   
if f:
        f.close()

 

3,异常的传递

 

f=None
try
#从本行开始捕获异常
   
f = open("text.txt")
   
try:
        content = f.read()
        content.index(
"hello")
        i =
1/0
   
except ValueError as ex:  # 捕获ValueError异常,未捕获除0异常,传递给外层捕获
       
print(ex)
except (FileNotFoundError,ZeroDivisionError) as ex:  # 捕获文件不存在和除0的异常,最外层没有捕获,则由python捕获
   
print(ex)
else:
   
print("没有异常的情况会自动执行的代码")
finally# 最终要执行的代码,不管前面是否出现异常
   
print("关闭文件")
   
if f:
        f.close()

 

自定义异常

 

class PassWordException(Exception):  # 自定义异常的类
   
def __init__(self, password, min_length):
       
self.password = password
       
self.min_length = min_length

   
def __str__(self):
       
return "%s密码错误,密码最小长度为%s"%(self.password,self.min_length)

def reg(username,password):
   
if len(password)<6:
       
raise PassWordException(password,6# 抛出自定义的异常
   
else:
       
print("用户名:%s,密码%s"%(username,password))

try:
    reg(
"ZhangSan","123")
except FileNotFoundError as e:  # 两个except会按照顺序先执行第一个,如果第一个满足异常类型,不会执行后面的except
   
print("第一个except,FileNotFoundError:%s" % e)
except PassWordException as e:
   
print("第二个except,PassWordException:%s" % e)
except Exception as e:
   
print("第三个except,Exception:%s" % e)

 


扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 2、回复“ZGDX”免费领取《中国电信5G NTN技术白皮书
  • 3、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 4、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 5、回复“5GX3”免费领取《 R16 23501-g60 5G的系统架构1
  • 6、回复“iot6”免费领取《【8月30号登载】物联网创新技术与产业应用蓝皮书——物联网感知技术及系统应用
  • 7、回复“6G31”免费领取《基于云网融合的6G关键技术白皮书
  • 8、回复“IM6G”免费领取《6G典型场景和关键能力白皮书
  • 对本帖内容的看法? 我要点评

     
    [充值威望,立即自动到帐] [VIP贵宾权限+威望套餐] 另有大量优惠赠送活动,请光临充值中心
    充值拥有大量的威望和最高的下载权限,下载站内资料无忧

    快速回复主题    
    标题
    内容
     上传资料请点左侧【添加附件】

    当前时区 GMT+8, 现在时间是 2024-04-27 11:19:00
    渝ICP备11001752号  Copyright @ 2006-2016 mscbsc.com  本站统一服务邮箱:mscbsc@163.com

    Processed in 0.330312 second(s), 13 queries , Gzip enabled
    TOP
    清除 Cookies - 联系我们 - 移动通信网 - 移动通信论坛 - 通信招聘网 - Archiver