异常处理

Posted yfjly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。

异常处理,虽然程序出错了,但是可以做一些预处理,使得程序不崩溃

data = {name:ABCD,
        age:22}
aa = [1,2,3,4]
try:
    data[naaa]
    aa[5]

# except (KeyError,IndexError) as e:
#     print()   #当出现错误后处理方法一样,可以用这种方法
#------分别抓取错误----
# except KeyError as e:
#     print("the key is error",e)
# except IndexError as e:
#     print("the index ",e)
except Exception as e:
    print("出错了",e)    # 能基本抓住所有错误,常用第二种方法

其他方式

data = {name:ABCD,
        age:22}
aa = [1,2,3,4]
try:
    # data[‘naaa‘]
    aa[2]

except KeyError as e:
    print("the key is error",e)
except IndexError as e:
    print("the index ",e)
except Exception as e:
    print("未知错误",e)
else:
    print("else,如果没有错,执行")
finally:
    print("finally不管有没有错,都执行")

# else,如果没有错,执行
# finally不管有没有错,都执行

自己写的异常

class ABCException(Exception):
    def __init__(self,msg):
        self.msg = msg

    def __str__(self):   # __str__ 可以自定义,也可以不写使用基类的
        return self.msg

try:
    raise ABCException("自己写的异常")    #自己写的异常需要自己触发
except ABCException as e:
    print(e)

 

以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章

使用片段中的处理程序时出现非法状态异常

Java异常处理机制

java 反射代码片段

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

片段中的Android致命异常