zoukankan      html  css  js  c++  java
  • exception.py

    try:
        raise Exception
    except Exception as e:
        print(e)
    
    try:
        raise Exception('comment')
    except Exception as e:
        print(e)
    
    
    class SomeException(Exception):
        print('aa')
        pass
    try:
        raise SomeException #只能捕获这个异常,不能捕获其他如1/0异常
    except SomeException:   #这个为什么不行
        print('no')
    
    '''
    try:
        a=0
        1/0
    except ZeroDivisionError:
        if a==1: print('no problem')
        else: raise  #捕捉到了异常,但又想重新引发它
    '''
    #多个except语句
    #只有第一条语句的错误发现,然后捕获这个异常后,后面语句的异常不会被捕获
    try:
        a=1/0
        b='a'+1
    except TypeError:
        print('1')
    except ZeroDivisionError:   
        print('2')
    #结果是2
    
    #一个块捕获多个异常
    #也只能捕获第一个异常
    try:
        a=1/0
        b='a'+1
    except (TypeError,ZeroDivisionError):   
        print('error')
    
    
    try:
        b='a'+1
        a=1/0
    except (ZeroDivisionError,TypeError) as e:  #捕捉对象 
        print(e)
    #Can't convert 'int' object to str implicitly捕捉第一条语句
    
    #全捕捉
    try:
        a=1/0
        b='a'+1
    except:   
        print('error')
    
    #else 语句
    while True:
        try:
            x=input('x')
            y=input('y')
            print(x/y)
        except:
            print('invalid, input again')
        else:   #没有异常引发的情况下执行
            break
    
    #finally 语句
    #finally 用于关闭文件或网络套接字时会非常有用
    #不管是否发生异常,finally一定会被执行
    #sys.exit退出当前程序,finally中内容仍然会被执行
    #x被初始化为None原因,由于ZeroDivisionError存在,x就永远不会被赋值
    #这样就导致在finally中使用del删除它的时候产生异常,而且这个异常是无法捕捉的
    x=None
    try:
        x=1/0
    finally:    #finally 要与 try 对齐
            print('cleaning up')    #在程序崩溃前,对x的清理已经完成了
            del x
    
    try:
        1/0
    except ZeroDivisionError:
        print('1')
    else:
        print('2')
    finally:
        print('3')
    #结果1,3
  • 相关阅读:
    云级Keyvalue数据库大比较
    如何诊断ORA125XX连接问题
    Oracle Internal Event:10235 Heap Checking诊断事件
    Oracle Database 11g R2 在Oracle Linux 6上获得认证
    一张图帮你搞懂oracle UGA User Global Area的概念
    Oracle Buffer Cache Chain图解
    ORA04036: 实例使用的 PGA 内存超出 PGA_AGGREGATE_LIMIT
    如何诊断ASMLIB故障
    Oracle RDBMS Server 11gR2 Preinstall RPM For Oracle Linux 6
    图解Oracle Buffer Cache LRU List
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/5617889.html
Copyright © 2011-2022 走看看