异常 巩固2
异常 巩固
2023-09-11 14:21:27 时间
1.找到可能会抛出异常的地方,仅对这几行代码进行异常处理
2.明确会出现的异常类型
缩进,类型,语法,索引等等
3.捕获出现的异常
import sys
exc = sys.exc_info()
exc[1] 为问题出现的原因
4.日志 logging 模块
import logging
logger = logging.getLogger()
# 获取日志对象
logfile = 'test.log'
hdlr = logging.FileHandler('senging.txt')
# 存储文件日志
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
# 以什么格式进行存储,时间,等级,日志信息
hdlr.setFormatter(formatter)
# 导入日志格式
logger.addHandler(hdlr)
# 将日志绑定
logger.setLevel(logging.NOTSET)
# 设置日志级别
5.断言 assert
assert 表达式,出错以后抛出的提示信息
表达式 : 1 > 4 3 > 2 1 == 2
断言绝对不能发生的错误,然后再处理异常
程序:
import logging
logger = logging.getLogger()
# 获取日志对象
logfile = 'test.log'
hdlr = logging.FileHandler('senging.txt')
# 存储文件日志
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
# 以什么格式进行存储,时间,等级,日志信息
hdlr.setFormatter(formatter)
# 导入日志格式
logger.addHandler(hdlr)
# 将日志绑定
logger.setLevel(logging.NOTSET)
# 设置日志级别
import sys
try:
print(a)
except:
exc = sys.exc_info()
print(exc[1])
# 查看异常的问题
# name 'a' is not defined
print(exc[0])
# <class 'NameError'>
print(exc)
# (<class 'NameError'>, NameError("name 'a' is not defined"),
# <traceback object at 0x000002A8BD9DA188>)
logging.debug(exc[1])
# assert 1 > 4 ,"1 大于 4 出现异常 "
# AssertionError: 1 大于 4 出现异常
2020-04-12
相关文章
- 一篇不错的讲解Java异常的文章(转载)
- linux异常 - 无法分配内存
- 第五十一节,异常处理和断言
- java代码将e.printStackTrace()写入log4j文件异常信息
- 云服务器 ECS 服务器访问异常问题排查指引
- 【异常】Git错误提示Ask a project Owner or Maintainer to create a default branch
- 关于Python中的错误与异常,你是否了解的够仔细?
- 非法参数异常的解决方案:Last encoded character is a valid base 64 alphabet but not a possible value
- Java异常处理之try-catch-finally
- 【异常】IDEA提示If the run configuration uses “classpath file“, please change it to “@argfile“.