【有书共读】python带我起飞读书笔记07

7.1 错误的分类
7.1.1 语法错误
    print 'hello'     #在Python3中,这种写法是不允许的,'hello'外面必须有括号
7.1.2 运行时错误
    a=1/0     #ZeroDivesionError :division by zero

7.2 异常的基本语法
7.2.1 异常的定义
异常处理的语法定义如下:
    try:
    <语句>    #运行别的代码
    except    <名字>:
    <语句>    #如果在 try 部分引发看 'name' 异常
    except    <名字>, <数据>:
    <语句>    #如果引发了 'name' 异常,获得附加的数据
    else:
    <语句>    #如果没有异常,则执行该分支语句
7.2.2 输出未知异常
    try:
    -----some function -----
    except Exception as e:
    print (e)
7.2.3 输出异常的详细信息
    1. sys 的exc_info 函数
    模块 sys 中有两个函数可以返回异常信息的全部信息:一个是exc_info;另一个是last_traceback。

例:
如 HTTP 请求失败,实现 “重试” 功能
def retry(attempt):
    def decorator(func):
        def wrapper(*args, **kw):
            att = 0
            while att < attempt:
                print(att)
                try:
                    return func(*args, **kw)
                except Exception as e:
                    att += 1
        return wrapper
    return decorator
    
import requests            #网络请求模块
@retry(attempt=3)                   #重试次数
def get_response(url):
    r = requests.get(url)
    return r
URL = 'http://www.163.com'
r = get_response(URL)
print(r)
print(r.content.decode('gbk'))
URL2 = 'http://www.1632334434.com'
r = get_response(URL2)
print(r)


#笔记##读书笔记#
全部评论

相关推荐

我朋友的华子2012,HR已经开始问意向地区了,好急
不讲武德的黑眼圈很能干:急得不行 也不说评级 不知道报的多少啊😡
点赞 评论 收藏
分享
勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务