当前位置: 首页 > news >正文

365建站网b站推广入口2023mmm

365建站网,b站推广入口2023mmm,东莞市公共资源网,粉色帝国网站参考语法:https://docs.python.org/zh-cn/3/tutorial/errors.html 在编写代码的时候,如果你写的程序出现报错,程序就会停止运行,后面的代码就不再执行。 如果程序发生错误,可以在代码中添加异常处理,保证程…

参考语法:https://docs.python.org/zh-cn/3/tutorial/errors.html
在编写代码的时候,如果你写的程序出现报错,程序就会停止运行,后面的代码就不再执行。
如果程序发生错误,可以在代码中添加异常处理,保证程序能够执行。

基本使用方式

下面的代码,运行的过程中有什么风险?


num = int(input("请输入一个数字:"))if num > 100:print("yes")
else:print("No")print("程序执行完毕")

上面的程序,如果输入的数据是数字,能够正常执行,
但是如果输入的数据是 非数字,程序报错,不再往下执行。
在这里插入图片描述

异常处理

try … except…

在代码可能出现异常的地方进行异常处理,比如,上面的程序,通过报错信息可以看到, 第三行代码,抛出valueerror的错误。
在这里插入图片描述
进行异常处理。


try:num = int(input("请输入一个数字:"))if num > 100:print("yes")else:print("No")# 当出现valueError的时候
except ValueError:print("输入的数据有误,请使用数字输入!")print("程序执行完毕")

将可能出现的异常代码放在 try 语句块中
异常信息捕获代码放在 except 中。
再次执行
在这里插入图片描述

try … except… 多个异常

下面查看这段代码。

# 打开文件 文件读取权限
f = open(file='helloworld.txt',mode='r')
# 读取文件中的内容
data = f.readline()
# 将读取的内容转换为数字
a = int(data)

这段代码有可能出现两种错误。

  • 文件不存在
  • 内容转为数字的时候会出现问题。
  • 在这里插入图片描述
    如果当发生异常的时候,可以统一处理。
try:# 打开文件 文件读取权限f = open(file='helloworld.txt',mode='r')# 读取文件中的内容data = f.readline()# 将读取的内容转换为数字a = int(data)
except (FileNotFoundError,ValueError):print("发生未知错误! 请检查")
  • except (FileNotFoundError,ValueError): 将两个异常放在一起,只要发生其中一个就处理。

也可以分开处理异常

针对上面的异常,也可以分开处理。
针对不同异常,单独处理。

try:# 打开文件 文件读取权限f = open(file='helloworld.txt',mode='r')# 读取文件中的内容data = f.readline()# 将读取的内容转换为数字a = int(data)# 文件找不到异常
except FileNotFoundError:print("文件找不到,请检查文件路径")
except ValueError:print("数据转换问题,请检查数据")

try … except Excpetion

上面处理异常是基于自己对程序已知可能出现的异常。如果对程序也不知道会发生那种类型的异常。也可统一使用 Expectation 来捕获所有的异常。

try:b = 10/0# 打开文件 文件读取权限f = open(file='helloworld.txt',mode='r')# 读取文件中的内容data = f.readline()# 将读取的内容转换为数字a = int(data)# 文件找不到异常
except FileNotFoundError:print("文件找不到,请检查文件路径")
except ValueError:print("数据转换问题,请检查数据")
except Exception:print("发生未知异常")

exception 在使用的时候,放在最后位置。

raise 抛出异常

while True:print('我爱学习')# 手动抛出异常,程序会停止运行raise Exception

后面做UI自动化的时候,需要定位元素,当元素等待不出来的时候,不能一直等,可以手动抛出异常。
在这里插入图片描述

在程序运行的过程中,无法保证每一次运行都顺利,那么就有可能会出现异常,那么对异常会怎样处理呢?

异常情况 
try: 后面写的是有可能出现异常的代码 
except: 如果出现异常了,想要显示的代码 
else: 如果没有出现异常,你后续想要处理的代码 
finally: 不管出不出现异常,都会执行的代码try: a = 10 b = "20" print(a + b) 
except TypeError as t: print("代码出bug啦!,导致问题的原因是:{}".format(t)) 
else: print("代码非常成功!真棒!") 
finally: print("----欢迎再次光临-----") 

常见的异常类型:

NameError: 变量没定义
SyntaxError: 语法错误
KeyError: 键不存在
ModuleNotFountError:模块未找到
TypeError:类型错误

指定异常类型捕获:

异常捕获时:语法错误是捕获不到的。如果要捕获多个异常类型:
方式一:使用多个except,每一个except都可以指定捕获的异常类型,适合不同类型的异常做不同的处理
方式二:使用一个except捕获多个类型的异常,使用多个类型的 异常采用相同的处理方式

try: print(a) f = open("fff.txt","r",encoding="utf8") 
except (NameError,FileNotFoundError,KeyError) as error: print(error) print("代码有异常") 
except FileNotFoundError as error: print(error) 
else: print("代码没有异常") 
finally: print("代码不管有没有异常都会执行") 
try: print(a) 
except Exception: print("捕获到了异常") 

logging日志

日志模块

日志在程序中必不可少,日志会记录程序员的操作记录和用户的行为记录,以及异常的日志打印
python中如何去记录日志?
首先我们要引入logging模块

import logging

python的日志等级

debug 输出详细的运行环境,主要用于调试
info 确认一切按预期运行,一般用于输出重要运行情况
warning 一些意想不到的情况发生了 比如内存空间不足,但是软件还能继续工作
error 某些程序因为一些原因没有执行,发生了错误,但程序还会继续执行不会崩溃
critical 致命的,一些严重的错误会被记录。程序无法继续运行,导致崩溃

logging.debug("这是debug等级的日志")
logging.info("这是info等级的日志")
logging.warning("这是warning等级的日志")
logging.error("这是error等级的日志")
logging.critical("这是critical等级的日志")

logging就是日志模块

import logging
import py_apitest
#日志的严重级别debug  info  warning  error  critical
logging.warning("这是info等级的日志")
print("这是print的内容")日志中的root叫做日志收集器,root默认的收集器不输出debug 和 info的等级日志。

logging具体代码

#1.首先创建日志收集器
mylog = logging.getLogger("libai")
#2.创建日志收集器收集的日志等级
mylog.setLevel("DEBUG")
#3.设置输入到控制台的渠道
sh = logging.StreamHandler()
#4.设置日志输出渠道的等级
sh.setLevel("DEBUG")
#5.将输出渠道添加进日志收集器中
mylog.addHandler(sh)
#6.将输出的日志添加进一个文件中
fh = logging.FileHandler("xiaosun.log","a",encoding="utf8")
#7.再给这个日志文件设置输入的等级
fh.setLevel("DEBUG")
#8.把文件输出内容添加进日志收集器中
mylog.addHandler(fh)
#9.设置工作中的日志文件输出格式
formater = '%(asctime)s - [%(filename)s-->line:%(lineno)d] - %(levelname)s: %(message)s'
#10.把这个格式带入进日志中
fm = logging.Formatter(formater)
#11.将日志的格式与输出渠道进行绑定
fh.setFormatter(fm)
sh.setFormatter(fm)
#12.打印日志
mylog.debug(py_apitest.newbee_login())
mylog.warning("这是warning的日志文件内容")
http://www.hkea.cn/news/143371/

相关文章:

  • 郑州网站建设推销外贸网站推广与优化
  • 当当网站开发系统说明搜索引擎排名google
  • 国外男女直接做的视频网站企业邮箱登录入口
  • 成都可以做网站的公司百度手机助手最新版下载
  • 赤峰网站建设招聘市场营销互联网营销
  • 网站开发后端需要哪些技术友情链接检索数据分析
  • 金华竞价排名 金华企业网站建设常见的网络营销平台有哪些
  • p2p网站开发关键词seo是什么意思
  • 自己免费怎么制作网站合肥今天的最新消息
  • 今日头条新闻10条简短seo网络优化招聘信息
  • 赣州人才网官方网站关键词seo优化软件
  • cad做兼职区哪个网站郑州网络营销公司排名
  • 宁夏银川做网站的公司有哪些网络营销分类
  • 换物网站为什么做不起来中国免费广告网
  • 可以显示一张图片的网站怎么搭建搜索引擎优化策略
  • 精品课程网站建设论文今天的新闻最新消息
  • 检查网站收录问题蚌埠seo外包
  • 建站展示网站优化网
  • 秦皇岛网站建设价格深圳seo公司
  • 广告型网站建设广州营销网站建设靠谱
  • 包头学做网站平台开发
  • 个人如何做微商城网站指数分布的分布函数
  • 北京网站设计哪家公司好建站工具
  • 深圳外贸网络推广seo诊断书案例
  • Java做网站的基本框架优化关键词规则
  • 网上手机商城网站建设直通车推广计划方案
  • 网站框架是谁做做个电商平台要多少钱
  • 网站开发建设书籍推荐b2b外贸平台
  • 网站首页的布局设计进行优化
  • 无锡做家纺公司网站如何建网站不花钱