为了账号安全,请及时绑定邮箱和手机立即绑定

Python错误和异常

难度中级
时长 1小时18分
学习人数
综合评分9.37
115人评价 查看评价
9.6 内容实用
9.1 简洁易懂
9.4 逻辑清晰
  • 错误和异常的区别

    查看全部
  • 1:自定义异常必须继承Exception类

    2:自定义异常只能主动触发

    查看全部
  • 1:raise:raise语句用于主动抛出异常

    2:assert:assert检查表达式是否为真,如果表达式为假,就会引发AsserttionError错误



    查看全部
  • 1 :finally:作用:语句为异常处理事件提供清理机制,用来关闭文件或者释放系统资源

    查看全部
  • try_except捕获异常分析:

    try:

         可能错误的语句块

    except:

         捕获异常的操作

    查看全部
  • with语句上下文管理

    无论如何都会执行__exit__ 方法 

    当出现异常时,先进行退出,释放系统资源,再对错误类型进行处理


    在示例中,老师显式的自定义了__enter__ 和__exit__ 方法,方便查看整个with as语句执行过程,实际应用时 __enter__ 和__exit__ 方法系统自动提供



    查看全部
  • with语句:

    with context [as var]:

            with_suite

    with语句用来替代try-except_finally语句,使代码更加简洁;

    context表达式返回是一个对象

    var用来保存context返回对象,单个返回值或者元组

    with_suit 使用var变量来对context返回对象进行操作

    f.seek(file *stream,long offset,int fromWhere) :

    os.SEEK_SET 文件的开始位置

    with 语句对于没有异常的情况下是可以正常关闭文件的,在with_suite语句遇到异常的情况下,错误异常并没有真正的处理,需要系统进行处理和上报。对with的异常需要进行捕捉和处理。抛异常之前先关闭文件。需要用try语句来捕捉with中的异常。

    with语句的实质是上下文管理,包括方法__enter__()和 __exit__()(关闭文件和清理资源)。

    with应用场景:

    文件操作,进程之间的互斥对象,支持文件上下文的其他对象。


    查看全部
  • 常见错误:

    1、NameError:a没有定义

    2、SyntaxError

    3、IOError:f=open('1.text)

    4、ValueError:a=int('dd')

    5、ZeroDivisionError:10/0

    6、KeyboardInterrupt:终止正在执行的程序

    查看全部
    0 采集 收起 来源:python常见错误

    2018-07-11

  •                                             错误和异常概念

    错误:

    1、语法错误:代码不符合解释器或者编译器语法

    2、逻辑错误:不完整或者不合法输入或者计算出现问题

    异常:执行过程中出现问题导致程序无法执行

    1、程序遇到逻辑或者算法问题

    2、运行过程中计算机错误(内存不够或者IO错误)

                                               错误和异常的区别

    错误:

    1、代码运行前的语法或者逻辑错误,语法错误在执行前修改,逻辑错误无法修改

    异常:

    1、异常产生,检查到错误且解释器认为是异常,抛出异常;

    2、异常处理,截获异常,忽略或者终止程序处理异常;


    查看全部
  • 执行with语句时,调用上下文管理器__enter__方法,var变量接受该方法返回值。

    若出现错误,首先关闭文件(调用上下文管理器__exit__方法),然后处理异常(没有真正处理,仍需加try-except处理);

    若无错误,则执行后自动关闭文件。

    查看全部
  • try-finally语句不是为了捕获异常,主要用于清理工作,用来关闭文件或释放系统资源。

    如果遇见异常,则先运行finally模块,再将异常抛给解释器。


    try-except-finally、try-except-else-finally:

    如果遇见异常,则先执行except处理错误,然后执行finally模块。

    查看全部
  • 猜数字游戏

    import random
    
    num = random.randint(0, 100) #产生0到100间的随机数
    
    while True:
        try:
            guess = int(raw_input("Enter 1~100:"))
        except ValueError, e:
            print "Enter 1~100"
            continue #不再执行下面语句
        if guess > num:
            print "guess Bigger:", guess
        elif guess < num:
            print "guess Smaller:", guess
        else:
            print "Guess OK, Game Over"
            break #跳出循环
        print "\n"


    查看全部
  • SyntaxError不能捕获!

    执行过程:py文件通过python解释器生成二进制的字节码文件,解释器自动对语法进行检查。如果发现问题,在转换过程中会将语法错误抛出,此时代码未真正进行,所以python解释器没有办法截获到语法错误这类运行前的异常。

    查看全部
  • 捕获异常

    try:
        a
    except NameError, e: #将异常代入e变量
        print "catch Error:", e
    print "exec over"

    如果前面定义了a,则不会抛出异常,直接打印exec over

    查看全部

举报

0/150
提交
取消
课程须知
本课程是Python中级课程 1、本课程在linux讲解,最好有linux开发环境 2、熟练掌握Python开发语言基础语法
老师告诉你能学到什么?
您将学习到以下内容: 1、错误和异常的概念 2、错误和异常处理方式 3、with..as语句与上下文管理 4、Python标准异常和自定义异常及assert和raise语句

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!