python笔记10--异常

异常

#print(help(NameError))#NameError是一个类

#在python中所有异常都是继承BaseException

#共分四大类

# SystemExit:Python退出异常

# KeyboardInterrupt:键盘打断(Ctrl+C)

# GeneratorExit:生成器退出(下次课再讲)

# Exception:普通异常(只会使用这部分的异常)

## 异常的传递性

def a():

    print(ccc)

def b():

    a()

def c():

    b()

c()#错误行最后显示,层层寻找

#报错后,后面代码都不执行

#需要掌握如何查找和解决报错的能力,并掌握如何向他人描述bug

class A:

    def __init__(self,name):

        print(name)

#TypeError类型错误,不会查询到错误行,

try:

  a=A()#可能报错的代码

except Exception as n:#捕获到异常后执行后面代码

    print(n)

else:#没有捕获到异常代码则执行

    raise n(...)#抛出异常,既run界面显示,所有异常都可,...希望返回的错误信息

    print('this is else')

finally:#始终执行

print('this is finally')

finally和不写在捕获块当中的区别是:抛出了异常也会执行finally块中的代码

#捕获异常

try except 成对出现

try:

    print(aaa)

except NameError as n:#是NameError就返回为什么报错->name 'aaa' is not defined

    print(n)          #有该类异常,则执行或有异常执行

print('hello')

except TypeError as o:

    print(o)

#或者 except(NameError,TypeError) :

#或者 except Exception:#不确定异常类型时

#代码中会出现的异常都是Exception的子类,

#因此在except中只需要在最后加上Exception即可

#在捕获异常的过程中,会从上倒下依次对比异常,找到之后就不会再往后查找

class MyError(Exception):#有时也自己写异常来达到编写目的

    pass

raise MyError

n=input('请输入:')

class W(Exception):

    def __init__(self,n,m):

        self.n=n

        self.n=m

    def name1(self):

        print('这个人是:%s'%self.n)

if n=='w':

    print('www')

else:

    try:

        raise W('你不是w 你是%s ,你没他帅'%n,n)

    except W as e:

        print(e)#

        W('你不是w 你是%s ,你没他帅'%n,n).name1()

#assert bool后接个bool值,如果是True程序继续,否则报错:AssertionError

print(11)

assert 1==2

print(222)

try:

    assert 1==2,'nihao'

except AssertionError as e:

    print(e)#错误信息为'nihao'

#在自己的py文件中__name__='__main__'#约定俗成

#主函数的入口 主程序的入口 程序的窗口

#在if __name__='__main__'下面写这个py文件的调用,使用

#如果其他文件导入了该py文件,那么在if __name__=='__main__'下面的代码

#不会再执行

if __name__== '__main__':

    print('ok')

    import 异常

print('nihao')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、错误和异常 1.概念 两种容易辨认的错误​ 语法错误:一些关于语法的错误【缩进】​ 异常:代码完全正确,但是,...
    hollow_02f9阅读 1,250评论 0 0
  • 本文讲解了python标准异常、什么是异常、异常处理的多种方法和实例等内容,需要的朋友可以参考下 python提供...
    小白python教程阅读 1,280评论 0 2
  • Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以...
    你的python助手阅读 301评论 0 2
  • 一、错误和异常 1.概念 两种容易辨认的错误​ 语法错误:一些关于语法的错误【缩进】​ 异常:代码完全正确,但是,...
    郑元吉阅读 366评论 0 0
  • 今天吧!写个100字就不错了,因为没有心情写了,也不知道是咋了,反正这心里边有点不舒服。想什么呢?一天到晚的,感觉...
    诗意和远方阅读 72评论 0 0