Python 函数异常处理:如何解决自定义函数执行正常但调用后只输出一条消息的问题?

python 函数异常处理:如何解决自定义函数执行正常但调用后只输出一条消息的问题?

python 自定义函数处理异常

在python 中定义函数时,除了返回预期结果外,有时还会遇见函数内部执行正常,而调用函数时却只输出一条讯息的情况。究其原因,通常是函数没有正确处理异常导致的。

以下是原始程式码:

def start_url(url):    nianducontent = requests.get(url).text #獲取網頁源碼    nian = re.findall('(.*?)', nianducontent, re.s) #獲取年份    for n in nian:        if '"季度"' not in n and '-' not in n: #過濾年份中包含'季度'和'-'的            jidu = range(1, 5) #1~4 四個季度            for j in jidu:                # for urls in url:                urls = url + str(n) + '&season=' + str(j) #拼接url                print(urls)    return urlsurl = 'http://quotes.****.***.com/trade/lsjysj_******.html?year='s = start_url(url)print(s)

登录后复制

函数内部遍历年份程式码通常会输出一系列网址,但调用函数时却仅输出:

立即学习“Python免费学习笔记(深入)”;

http://quotes.****.***.com/trade/lsjysj_******.html?year=1999&season=1

登录后复制

调整程式码如下修正该问题:

def start_url(url):    try:        nianduContent = requests.get(url).text #獲取網頁源碼        nian = re.findall('(.*?)', nianduContent, re.S) #獲取年份        urls = list()        for n in nian:            if '"季度"' not in n and '-' not in n: #過濾年份中包含'季度'和'-'的                jidu = range(1, 5) #1~4 四個季度                for j in jidu:                    # for urls in url:                    tempurl = url + str(n) + '&season=' + str(j) #拼接url                    urls.append(tempurl)        return urls    except Exception as e:        print("發生異常:", e)url = 'http://quotes.*****.***.com/trade/lsjysj_******.html?year='s = start_url(url)print(s)

登录后复制

通过新增异常处理机制,当函数执行过程中出现异常时,会被捕获并输出,从而方便调试问题。

以上就是Python 函数异常处理:如何解决自定义函数执行正常但调用后只输出一条消息的问题?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2187759.html

(0)
上一篇 2025年2月25日 17:21:47
下一篇 2025年2月18日 09:04:27

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论