栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python(错误和异常)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python(错误和异常)

目录

一、错误

二、异常 

三、如何处理异常 


一、错误
  • 定义:在运行之前就发生或存在的,导致程序无法运行,同时也是程序本身不能处理的。
  • 分类:语法错误,语义错误。(语法代码逻辑错误,或不合法的输入错误)
  • 举例
    print(123) 
    1 ? 2

    (虽然第一句没有错误,但是因为第二句有语法错误,所以导致第一句无法运行)  

二、异常 
  • 定义:指在运行环境正常的情况下遇到的运行时错误,且程序在遇到异常处终止(前提是异常没有被处理),可以被处理。(运行过程中)
  • 异常是非致命的,但也会导致程序的非正常终止。
  • 举例
    print(123)  
    text
    print(text)

     (虽然后面两句异常,但是第一句还是会运行)

三、如何处理异常 
  • 第一种语法:try:

                       正常执行的语句

                  except :

                       处理异常的语句

try:   
    1 / 0
except:
    print("分母不能为0")

  • 第二种语法:exception是所有异常的父异常,意味着他可以接受所有的异常。 

                    try:                     就相当于                    try:

                    except:                                                 except  exception:

  • 如果给了固定的异常类型,那么就只能接收这一种异常类型。
    try:
        1 / 0
    except ZeroDivisionError:
        print("分母不能为0")
    

    try:
        1 + ""
    except ZeroDivisionError:
        print("分母不能为0")

  • 第三种语法:可以写多个except
    try:
        1 + ""
    except ZeroDivisionError:
        print("分母不能为0")
    except TypeError:
        print("类型错误")

    (结果) 

         try:

              要执行的语句

         except ExceptionType1: 

               .........

         except ExceptionType2: 

               .........

          .........

         except ExceptionTypeN:  

               .........   

  • 第四种语法:  finally无论有没有遇到异常,都要执行。   

             try:

                   要执行的语句

             except ExceptionType1: 

                     .........

              except ExceptionType2: 

                     .........

              finally:

                    最后要做的事情  

num = 0
try:
    print("打开数据库")
    1 / num
except ZeroDivisionError:
    print("分母不能为零")
finally:
    print("关闭数据库")

         

num = 1
try:
    print("打开数据库")
    1 / num
except ZeroDivisionError:
    print("分母不能为零")
finally:
    print("关闭数据库")

 

  • 第五种语法:else是如果没有异常的时候,执行else中的语句。             

             try:

                   要执行的语句

             except ExceptionType1: 

                     .........

              .........

              except ExceptionTypeN: 

                     .........

              else:

                    没有遇到异常要执行的语句

              finally:

                    最后要执行的语句      

num = 0
try:
    print("打开数据库")
    1 / num
except ZeroDivisionError:
    print("分母不能为零")
else:
    print("normal")
finally:
    print("关闭数据库")

 

num = 2
try:
    print("打开数据库")
    1 / num
except ZeroDivisionError:
    print("分母不能为零")
else:
    print("normal")
finally:
    print("关闭数据库")

 

  •  重命名:as-->as newname

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/348529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号