zoukankan      html  css  js  c++  java
  • 异常

    异常

    概述

      异常会导致程序无法正常运行。提前预知异常,并对异常设置相应的操作能够完善代码。

    处理异常

    try:
        pass
    except ValueError as e:
        pass
    except Exception as e:
        print(e.args)
        pass
    

     一、Python内置异常类

    BaseException             所有异常的基类         
     +-- SystemExit              解释器请求退出
     +-- KeyboardInterrupt          用户中断执行(通常是输入^C)
     +-- GeneratorExit            生成器(generator)发生异常来通知退出
     +-- Exception               常规错误的基类
          +-- StopIteration              迭代器没有更多值 
          +-- StopAsyncIteration              必须通过异步迭代器对象的__anext__()方法引发以停止迭代
          +-- ArithmeticError                 所有数值计算错误的基类
          |    +-- FloatingPointError             浮点计算错误
          |    +-- OverflowError                  数值运算超出最大限制
          |    +-- ZeroDivisionError              除(或取模)零 (所有数据类型
          +-- AssertionError                  断言语句失败
          +-- AttributeError                  对象没有这个属性
          +-- BufferError                    与缓冲区相关的操作时引发
          +-- EOFError                        没有内建输入,到达EOF 标记
          +-- ImportError                     导入失败
          |    +-- ModuleNotFoundError        找不到模块
          +-- LookupError                     无效数据查询的基类
          |    +-- IndexError                      序列中没有此索引(index)
          |    +-- KeyError                        映射中没有这个键
          +-- MemoryError                     内存溢出错误
          +-- NameError                       未声明、初始化对象
          |    +-- UnboundLocalError              访问未初始化的本地变量
          +-- OSError                         操作系统错误,
          |    +-- BlockingIOError               操作将阻塞对象设置为非阻塞操作
          |    +-- ChildProcessError             子进程上的操作失败
          |    +-- ConnectionError               与连接相关的异常的基类
          |    |    +-- BrokenPipeError             在已关闭写入的套接字上写入
          |    |    +-- ConnectionAbortedError      连接尝试被对等方中止
          |    |    +-- ConnectionRefusedError      连接尝试被对等方拒绝
          |    |    +-- ConnectionResetError        连接由对等方重置
          |    +-- FileExistsError               创建已存在的文件或目录
          |    +-- FileNotFoundError             请求不存在的文件或目录
          |    +-- InterruptedError              系统调用被输入信号中断
          |    +-- IsADirectoryError             在目录上请求文件操作
          |    +-- NotADirectoryError            在不是目录的事物上请求目录操作
          |    +-- PermissionError              在没有访问权限的情况下运行操作
          |    +-- ProcessLookupError            进程不存在
          |    +-- TimeoutError                  系统函数在系统级别超时
          +-- ReferenceError                弱引用试图访问已经垃圾回收了的对象
          +-- RuntimeError                  一般的运行时错误
          |    +-- NotImplementedError      尚未实现的方法
          |    +-- RecursionError           解释器检测到超出最大递归深度
          +-- SyntaxError                   Python 语法错误
          |    +-- IndentationError         缩进错误
          |         +-- TabError          Tab 和空格混用
          +-- SystemError              一般的解释器系统错误
          +-- TypeError               对类型无效的操作
          +-- ValueError              传入无效的参数
          |    +-- UnicodeError             Unicode 相关的错误
          |         +-- UnicodeDecodeError     Unicode 解码时的错误
          |         +-- UnicodeEncodeError     Unicode 编码时错误
          |         +-- UnicodeTranslateError  Unicode 转换时错误
          +-- Warning                       警告的基类
               +-- DeprecationWarning          关于被弃用的特征的警告
               +-- PendingDeprecationWarning   关于构造将来语义会有改变的警告
               +-- RuntimeWarning           可疑的运行行为的警告
               +-- SyntaxWarning            可疑的语法的警告
               +-- UserWarning              用户代码生成的警告
               +-- FutureWarning            有关已弃用功能的警告的基类
               +-- ImportWarning            模块导入时可能出错的警告的基类
               +-- UnicodeWarning           与Unicode相关的警告的基类
               +-- BytesWarning             bytes和bytearray相关的警告的基类
               +-- ResourceWarning           与资源使用相关的警告的基类。。
    

     注:1、重点关注的Python内置异常有:AttributeError(对象没有这个属性)、ValueError(传入无效的参数)、TypeError(对类型无效的操作)、SyntaxError(Python 语法错误)、NameError(未声明、初始化对象)、OSError(操作系统错误)

    二、HTTP异常

    第一部分:常用的HTTP异常:

    1xx:表示临时响应
    100:(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
    101:(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换
    
    2xx:表示成功处理了请求的状态代码
    200(成功)服务器已成功处理了请求,通常,这表示服务器提供了请求的页面
    204(重置内容)服务器成功处理了请求,但没有返回任何内容
    206(部分内容)服务器成功处理了部分GET请求
    
    3xx(重定向):表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向
    301:(永久移动)请求的页面已永久移动到新位置。服务器返回此响应(对GET和HEAD请求的响应)时,会自动将请求者转到新位置
    302(临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
    303(查看其他位置)请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码
    304(未修改)自从上次请求后,请求的页面未修改过。服务器返回此响应时,不会返回网页内容
    
    4xx(请求错误):这些状态代码表示请求可能出错,妨碍了服务器的处理
    400:(错误请求)服务器不理解请求的语法
    401(未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应
    403(禁止)服务器拒绝请求
    404(未找到)服务器找不到请求的网页
    405(方法禁用)禁用请求中指定的方法
    406(不接受)无法使用请求的内容特性响应请求的网页
    408(请求超时)服务器等候请求时发生超时
    414(请求的URI过长)请求的URI(通常为网址)过长,服务器无法处理
    415(不支持的媒体类型)请求的格式不受请求页面的支持
    416(请求范围不符合要求)如果页面无法提供请求的范围,则服务器会返回此状态码
    
    5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错
    500(服务器内部错误)服务器遇到错误,无法完成请求
    501(尚未实施)服务器不具备完成请求的功能,例如,服务器无法识别请求方法时可能会返回此代码
    502(错误网关)服务器作为网关和代理,从上游服务器收到无效响应
    503(服务器不可用)服务器目前无法使用(由于超载或者停机维护)。通常,这只是暂时状态
    504(网关超时)服务器作为网关或者代理,但是没有及时从上游服务器收到请求
    505(HTTP版本不受支持)服务器不支持请求中所用的HTTP协议版本
    

    第二部分:HTTP异常详细

    400 无法解析此请求。  
    401.1 未经授权:访问由于凭据无效被拒绝。  
    401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。  
    401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。  
    401.4 未经授权:Web 服务器上安装的筛选器授权失败。  
    401.5 未经授权:ISAPI/CGI 应用程序授权失败。  
    401.7 未经授权:由于 Web 服务器上的 URL 授权策略而拒绝访问。  
    
    403 禁止访问:访问被拒绝。  
    403.1 禁止访问:执行访问被拒绝。  
    403.2 禁止访问:读取访问被拒绝。  
    403.3 禁止访问:写入访问被拒绝。  
    403.4 禁止访问:需要使用 SSL 查看该资源。  
    403.5 禁止访问:需要使用 SSL 128 查看该资源。  
    403.6 禁止访问:客户端的 IP 地址被拒绝。  
    403.7 禁止访问:需要 SSL 客户端证书。  
    403.8 禁止访问:客户端的 DNS 名称被拒绝。  
    403.9 禁止访问:太多客户端试图连接到 Web 服务器。  
    403.10 禁止访问:Web 服务器配置为拒绝执行访问。  
    403.11 禁止访问:密码已更改。  
    403.12 禁止访问:服务器证书映射器拒绝了客户端证书访问。  
    403.13 禁止访问:客户端证书已在 Web 服务器上吊销。  
    403.14 禁止访问:在 Web 服务器上已拒绝目录列表。  
    403.15 禁止访问:Web 服务器已超过客户端访问许可证限制。  
    403.16 禁止访问:客户端证书格式错误或未被 Web 服务器信任。  
    403.17 禁止访问:客户端证书已经到期或者尚未生效。  
    403.18 禁止访问:无法在当前应用程序池中执行请求的 URL。  
    403.19 禁止访问:无法在该应用程序池中为客户端执行 CGI。  
    403.20 禁止访问:Passport 登录失败。  
    
    404 找不到文件或目录。  
    404.1 文件或目录未找到:网站无法在所请求的端口访问。  
    注意 404.1 错误只会出现在具有多个 IP 地址的计算机上。如果在特定 IP 地址/端口组合上收到客户端请求,而且没有将 IP 地址配置为在该特定的端口上侦听,则 IIS 返回 404.1 HTTP 错误。例如,如果一台计算机有两个 IP 地址,而只将其中一个 IP 地址配置为在端口 80 上侦听,则另一个 IP 地址从端口 80 收到的任何请求都将导致 IIS 返回 404.1 错误。只应在此服务级别设置该错误,因为只有当服务器上使用多个 IP 地址时才会将它返回给客户端。
    404.2 文件或目录无法找到:锁定策略禁止该请求。  
    404.3 文件或目录无法找到:MIME 映射策略禁止该请求。  
    
    405 用于访问该页的 HTTP 动作未被许可。  
    406 客户端浏览器不接受所请求页面的 MIME 类型。  
    407 Web 服务器需要初始的代理验证。  
    410 文件已删除。  
    412 客户端设置的前提条件在 Web 服务器上评估时失败。  
    414 请求 URL 太大,因此在 Web 服务器上不接受该 URL。  
    
    500 服务器内部错误。  
    500.11 服务器错误:Web 服务器上的应用程序正在关闭。  
    500.12 服务器错误:Web 服务器上的应用程序正在重新启动。  
    500.13 服务器错误:Web 服务器太忙。  
    500.14 服务器错误:服务器上的无效应用程序配置。  
    500.15 服务器错误:不允许直接请求 GLOBAL.ASA。  
    500.16 服务器错误:UNC 授权凭据不正确。  
    500.17 服务器错误:URL 授权存储无法找到。  
    500.18 服务器错误:URL 授权存储无法打开。  
    500.19 服务器错误:该文件的数据在配置数据库中配置不正确。  
    500.20 服务器错误:URL 授权域无法找到。  
    500 100 内部服务器错误:ASP 错误。  
    
    501 标题值指定的配置没有执行。  
    502 Web 服务器作为网关或代理服务器时收到无效的响应。
    503(服务器不可用)服务器目前无法使用(由于超载或者停机维护)。通常,这只是暂时状态
    504(网关超时)服务器作为网关或者代理,但是没有及时从上游服务器收到请求
    505(HTTP版本不受支持)服务器不支持请求中所用的HTTP协议版本
    
  • 相关阅读:
    Hyper-V安装Centos7
    【DDD】使用领域驱动设计思想实现业务系统
    关于数据库‘状态’字段设计的思考与实践
    如何快速处理线上故障
    《企业应用架构模式》读后感
    java使用何种类型表示精确的小数?
    【项目经验】数据迁移总结
    springMVC引入Validation详解
    【DDD】领域驱动设计实践 —— 一些问题及想法
    【系统设计】“查询推荐好友”服务在不同架构风格下如何设计?
  • 原文地址:https://www.cnblogs.com/yinminbo/p/12034265.html
Copyright © 2011-2022 走看看