During handling of the above exception, another exception occurred 处理

这篇具有很好参考价值的文章主要介绍了During handling of the above exception, another exception occurred 处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

During handling of the above exception, another exception occurred

字面意思为:在处理上述异常的过程中,发生了另一个异常。简单理解就是,程序执行——>异常——>异常处理——>又引发异常——>又异常处理…此时,在报错信息之间就会出现上面一行英文。

代码示例

# -*- coding:utf-8 -*-
# date:
# info: during_handling.py
# Python 3.8.8

import requests


class DuringHandle(object):
    def __init__(self):
        self.HEADERS = {
            'Accept': 'application/json, text/javascript, */*; q=0.01',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9',
            'Connection': 'keep-alive',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36',
            'X-Requested-With': 'XMLHttpRequest',
        }
        self.code = 'Nhf876Y8mk1sdi2lf'
        self.RS = requests.Session()

    def get_session_id(self):
        u = 'https://cm.lanjing.com/account/sso/?next=/asset/server/list&code={}'.format(self.code)
        req = self.RS.get(url=u, headers=self.HEADERS)
        return req.cookies['sessionid']

    def main_run(self):
        session_id = self.get_session_id()
        print(session_id)


if __name__ == '__main__':
    dh = DuringHandle()
    dh.main_run()

运行代码

由于 req = self.RS.get(url=u, headers=self.HEADERS) 缺少参数 verify=False ,在执行上述代码,抛出如下异常

Traceback (most recent call last):
  File "E:\pythonProject\proCmp\venv\lib\site-packages\urllib3\connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(
  File "E:\pythonProject\proCmp\venv\lib\site-packages\urllib3\connectionpool.py", line 381, in _make_request
    self._validate_conn(conn)
  File "E:\pythonProject\proCmp\venv\lib\site-packages\urllib3\connectionpool.py", line 978, in _validate_conn
    conn.connect()
  File "E:\pythonProject\proCmp\venv\lib\site-packages\urllib3\connection.py", line 362, in connect
    self.sock = ssl_wrap_socket(
  File "E:\pythonProject\proCmp\venv\lib\site-packages\urllib3\util\ssl_.py", line 386, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1040, in _create
    self.do_handshake()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1125)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:\pythonProject\proCmp\venv\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "E:\pythonProject\proCmp\venv\lib\site-packages\urllib3\connectionpool.py", line 726, in urlopen
    retries = retries.increment(
  File "E:\pythonProject\proCmp\venv\lib\site-packages\urllib3\util\retry.py", line 446, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='cm.lanjing.com', port=443): Max retries exceeded with url: /account/sso/?next=/asset/server/list&code=Nhf876Y8mk1sdi2lf (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1125)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:/pythonProject/proCmp/py_script/during_handling.py", line 215, in <module>
    dh.main_run()
  File "E:/pythonProject/proCmp/py_script/during_handling.py", line 162, in main_run
    session_id = self.get_session_id()
  File "E:/pythonProject/proCmp/py_script/during_handling.py", line 65, in get_session_id
    req = self.RS.get(url=u, headers=self.HEADERS)
  File "E:\pythonProject\proCmp\venv\lib\site-packages\requests\sessions.py", line 543, in get
    return self.request('GET', url, **kwargs)
  File "E:\pythonProject\proCmp\venv\lib\site-packages\requests\sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "E:\pythonProject\proCmp\venv\lib\site-packages\requests\sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "E:\pythonProject\proCmp\venv\lib\site-packages\requests\adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='cm.lanjing.com', port=443): Max retries exceeded with url: /account/sso/?next=/asset/server/list&code=Nhf876Y8mk1sdi2lf (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1125)')))

Process finished with exit code 1

报错解读

第一个 Traceback 触发了 ssl.SSLCertVerificationError 报错,且下面出现 During handling of the above exception, another exception occurred ,继续看第二个 Traceback,触发了 urllib3.exceptions.MaxRetryError,且下面也出现了 During handling of the above exception, another exception occurred,继续看第三个 Traceback,触发了 requests.exceptions.SSLError ,且只有此处的异常是由自编程的代码导致了异常,第一、二个均是Python的库代码的异常。

尝试修改代码

# 省略部分代码
# return req.cookies['sessionid']
try:
    req = self.RS.get(url=u, headers=self.HEADERS)
    return req.cookies['sessionid']
except requests.exceptions.SSLError as e:
    print('requests.exceptions.SSLError:{}'.format(e))
    return

# 省略部分代码

运行代码

运行代码后发现,程序完整运行,自定义输出异常内容文章来源地址https://www.toymoban.com/news/detail-640181.html

requests.exceptions.SSLError:HTTPSConnectionPool(host='cm.lanjing.com', port=443): Max retries exceeded with url: /account/sso/?next=/asset/server/list&code=Nhf876Y8mk1sdi2lf (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1125)')))

到了这里,关于During handling of the above exception, another exception occurred 处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap

    在启动elasticsearch.bat时会直接闪退,大概率是因为内存分配不足导致直接打不开elasticsearch。 于是我直接在终端运行,想看问题出在哪,此时报错如题所示 找到elasticsearch文件夹下config子文件夹,打开找到 jvm.options ,对内存分配进行调整 使用记事本或者Notepad++打开,如图: 这

    2024年02月07日
    浏览(31)
  • A JavaScript error occurred in the main processUncaught Exception

    A JavaScript error occurred in the main processUncaught Exception: Error: getaddrinfo ENOTFOUND rfw.jnsii.com at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26)                                                                          💧 记录一下今天遇到的 b u g col

    2024年02月07日
    浏览(34)
  • ARMv8-AArch64 的异常处理模型详解之异常处理概述Handling exceptions

    在介绍异常处理之前,有必要了解一些关于异常处理状态的术语: 当处理器响应一个异常时,我们称该异常被获取了( taken )。 处理器响应异常之前的状态被称为 taken from 。 处理器响应异常之后的状态被称为 taken to 。 因此,当处理器识别到异常时,此时处理器处于 taken

    2024年02月20日
    浏览(35)
  • ERROR [io.undertow.request] UT005023: Exception handling request 报错处理

    找了好久,突然灵光乍现是不是因为容器错误问题,本来就是刚从github上下载下来的项目,怎么别人不报错就我报错嘞,我还什么都没改怎么能这样!!!!   这就是我的报错,乍一看是路径问题,但是我刚clone下来的项目,还没大展拳脚呢,你告诉我路径错了??这简直是

    2024年02月08日
    浏览(31)
  • Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred……

    本人使用 idea 创建 web 工程后,运行 tomcat 服务器时出现报错: 并且 tomcat 出现错误信息: 本人尝试更换 JDK 版本,但并没有什么变化。最后发现是忘了修改 Project Structure... 中的 SDK 。 由于需要修改配置的地方较多,很容易漏掉一小步,下面整理了比较全面的需要修改的地方

    2024年02月07日
    浏览(52)
  • Error: Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Progra

    本人学化学的小白,自学JAVA。本来电脑第一次本来装JDK17的时候,应该是装成功了,后来eclipse出了点问题,我以为是JDK17的问题,就卸载重装, 结果就悲剧了。 每次重装都有问题,win命令行输入java -v都显示下面错误。 在csdn里搜到好多方法 这个原因是因为在安装JDK的时候在

    2023年04月09日
    浏览(36)
  • Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program wi

    win10安装java(jdk或jre) 环境报错: Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program wil 一,下包安装java 二,解决报错 大功告成 环境报错: Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program wil 在官网下载jdk包 官网地址 直接下

    2024年02月07日
    浏览(37)
  • Java Catching and Handling Exceptions(二)

    try with resources语句是声明一个或多个资源的try语句。资源是程序使用完后必须关闭的对象。try with resources语句确保在语句末尾关闭每个资源。任何实现java.lang.AutoCloseable的对象(包括实现java.io.Closeable的所有对象)都可以用作资源。 下面的示例从文件中读取第一行。它使用B

    2024年02月04日
    浏览(19)
  • A fatal error occurred. The required library hostfxr.dll could not be found.错误处理

    一个可控制台程序使用.NET 6开发,发行版运行出现如下错误: A fatal error occurred. The required library hostfxr.dll could not be found. If this is a self-contained application, that library should exist in [D:xxxServer]. If this is a framework-dependent application, install the runtime in the global location [C:Program Files (x86)d

    2024年02月12日
    浏览(40)
  • 蓝屏终止代码SYSTEM-THREAD-EXCEPTION-NOT-HANDLED如何解决 终止代码:SYSTEM-THREAD-EXCEPTION-NOT-HANDLED 失败的操作:nvlddmk

    蓝屏终止代码SYSTEM-THREAD-EXCEPTION-NOT-HANDLED如何解决 终止代码:SYSTEM-THREAD-EXCEPTION-NOT-HANDLED 失败的操作:nvlddmkm.sys 显示英伟达显卡有关的错误。 若是有超频,降压等,建议恢复正常,包括主板自动超频功能。 然后到设备供应商的官网更新一下bios,覆盖安装一下显卡驱动,请勿

    2023年04月08日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包