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

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


 发短消息    关注Ta 

积分 480
帖子 96
威望 2874 个
礼品券 15 个
专家指数 0
注册 2009-2-25
专业方向  通信
回答问题数 1
回答被采纳数 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、回复“sn521”免费领取《华为:室内5G白皮书
  • 2、回复“wt229”免费领取《5G NSA接入问题处理
  • 3、回复“sa885”免费领取《5G SA接入信令介绍
  • 4、回复“yh666”免费领取《5G NSA优化案例
  • 5、回复“zw31”免费领取《《5G行业虚拟专网网络架构》
  • 6、回复“666”免费领取《通信技术知识的思维导图
  • 7、回复“5ggy”免费领取《5G如何影响工业?
  • 8、回复“5gwk”免费领取《5G基站工程安装指导
  • 对本帖内容的看法? 我要点评

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

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



    当前时区 GMT+8, 现在时间是 2020-08-08 16:10:36
    渝ICP备11001752号  Copyright @ 2006-2016 mscbsc.com  本站统一服务邮箱:mscbsc@163.com

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