异常处理

Posted jiyongjia

tags:

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

技术分享图片

异常处理主要有两种形式的语法:

(1)try---except---else
(2)try--except--finally

 

类型一:

# 语法规范
# 当try语句执行出现错误,会自动匹配错误,如果匹配成功,会执行该条的语句。
# 如果没匹配到错误,就执行else

‘‘‘
try :
语句1
except 错误码1 as e:
语句2

...

except 错误码n as e:
语句n

else:
语句
‘‘‘

# 语法规范
# 当try语句执行出现错误,会自动匹配错误,如果匹配成功,会执行该条的语句。
# 如果没匹配到错误,就执行else

‘‘‘
try :
    语句1
except 错误码1 as e: 
    语句2
    
    ...

except 错误码n as e:
    语句n
    
else:
    语句
‘‘‘
# 案例1
try:
    print(3/0)
except ZeroDivisionError as e:
    print("除数为0错误!")
else:
    print("代码没有错误!")

# 案例2:使用except带着多种异常,写到一个小括号
try:
    print(3/0)
except (NameError,ZeroDivisionError) as e:
    print("除数为0错误!或名字错误!")
else:
    print("代码没有错误!")


# 案例3  多个异常的顺序问题
try:
    print(3 / 0)
except BaseException as e:
    print("异常1")
except ZeroDivisionError as e:
    print("异常2!")
else:
    print("代码没有错误!")

‘‘‘
输出是:异常1
‘‘‘

# 说明:如果父类的异常处理在前边的话,会首先匹配到父类的异常信息

 

类型二:

# 【2】第二种处理机制


‘‘‘
try --except--finally
‘‘‘


# finally是不管发生异常与否都会执行的!
# 比如:打开文件,就得一定要用finaly进行关闭

 

 

技术分享图片

 




















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

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

Java异常处理机制

java 反射代码片段

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

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

片段中的Android致命异常