当前位置 : 主页 > 编程语言 > python >

python之异常

来源:互联网 收集:自由互联 发布时间:2023-03-22
一、异常 异常:---异于平常 异常即是事件,该事件会在程序执行过程中发生,影响程序的正常执行。 即使语句或表达式使用了正确的语法,执行时仍然可能触发错误。执行行检测到的错

一、异常

  • 异常:---异于平常
  • 异常即是事件,该事件会在程序执行过程中发生,影响程序的正常执行。
  • 即使语句或表达式使用了正确的语法,执行时仍然可能触发错误。执行行检测到的错误称为异常。
  • 错误和异常

    1、语法错误和逻辑错误

    a = 90if a > 100 print('哈哈')

    2、逻辑错误

    print(1/0)

    3、异常处理:出现了异常,通过做异常捕获(异常处理)之后,不会影响后续代码的执行

    print(123)print(a)print('哈哈')

    二、异常处理

    法一: try……except
    print(123)try: print(a)except: # 捕获异常,如果捕获对应异常,则执行缩进内的代码 print('出现错误')print('哈哈')print('哈哈')print('哈哈')print(a)

    python之异常_异常处理

    try: print(a)except NameError as e: # 捕获异常,如果捕获对应异常,则执行缩进内的代码 print(e)print('哈哈')print('哈哈')print('哈哈')

    python之异常_捕获异常_02

    法二:try……except……else
    dic = {'name': 'rose'}try: print(dic['gender'])except Exception: print('出现错误')else: print('没有错误时才会执行的代码')

    python之异常_异常处理_03

    # 法三:try……except……finally
    try: print(a)except NameError as e: # 捕获异常,如果捕获对应异常,则执行缩进内的代码 print(e)# finally:# print('哈哈')print('哈哈')

    python之异常_异常处理_04

    try: print(a)except KeyboardInterrupt: # 捕获异常,如果捕获对应异常,则执行缩进内的代码 print('出现错误')# print('哈哈')finally: print('哈哈')

    python之异常_异常处理_05

    法四:全选
    n = int(input('请输入一个整数:'))print(n)try: n = int(input('请输入一个整数:')) print(100/n)except ValueError: print('请输入正确的数据')except Exception as e: print(f'未知错误{e}')else: print('没有异常时执行的代码')finally: print('无论是否有异常,都会执行的代码')

    python之异常_缩进_06

    异常的传递

    def funa(): return int(input('请输入一个整数:'))def funb(): print('哈哈') return funa()

    python之异常_捕获异常_07

    try: print(funb())except: print('有错误')print(123)

    python之异常_缩进_08

    三、主动抛出异常

    1.创建Excepction('这里写异常的提示信息')的对象
    2.raise 异常对象
    def func(): raise Exception('这是一个异常') print(123)func()

    python之异常_异常处理_09

    场景:登录某个网址

    需求:如果密码长度小于6,则报错; 密码正常,把密码显示; 即使出现异常,不影后面的执行 ---- 异常处理

    def user(): pwd = input('请输入密码:') if len(pwd) >= 6: return pwd else: ex = Exception('密码长度不够哦') raise ex

    python之异常_缩进_10

    异常处理
    try: upwd = user() print('密码是:',upwd)except Exception as e: print(f'错误:{e}')print(123)

    python之异常_缩进_11

    四、模块

    import time,random # 内置模块,不需要安装,自带

    第三方模块 ---- 需要安装

    import numpy

    1.法一:win+r ---cmd pip install 模块名

    建议最好cmd切换到python安装路径下的scripts这个路径下再执行安装

    2.法二:pycharm ---terminal

    3.法三:pycharm --- settings--- interpreter

    import random # 模块的导入print(random.randint(1, 100))

    1、自定义模块

    import helloprint(hello.a)

    import hehe

    2、导入系统模块

    import sysprint(sys.path) # 查看文件查找路径,不在该路径下,则查找不到

    3、import numpy as np # 取别名,取了别名后只能够使用这个别名

    import random as r # random是随机模块print(random.randint(1,10))print(r.randint(1,10))

    4、from 模块名 import 函数名/属性 从……导入……

    from random import randintprint(randint(1,10))

    5、from random import * # * 表示所有

    if __name__ == '__main__': # 程序的主入口; 如果当前文件作为模块导入到其他文件里,则if内的代码不执行 print(123)

    import helloprint(hello.__name__) # hello 模块名print(__name__) # __main__ 直接在当前文件下运行时,__name__== __main__

    from test import t1, t2from test import t2, t1 # 先导入先执行

    6、单例模式 导入模块是一个天然的单例

    import randomimport randomimport randomimport random
    上一篇:如何自己搭建Scrapy爬虫框架
    下一篇:没有了
    网友评论