异常处理语句try except finally

#try……except……finally
# 异常处理语句
#在编写程序中,运行时,总会出现一些意想不到的错误,这些错误往往只是九牛一毛,但对于程序,却是重达千金
#使用异常处理语句,可以及时解决程序代码中的一些简单的问题,对程序的运行 起到至关重要的部分

try语句为一组语句指定异常处理程序和/或清理代码:
except子句指定一个或多个异常处理程序。
finally子句总是被执行


异常语句常用格式

try:
	正常执行语句 
except:
	异常时执行语句
finally:
	总是执行语句
ty = [1,2,3,"a","b","c",[6,7,8]]

iny = []
try:
    for i in  ty:
        print(i)
        if isinstance(i,int):
            iny.append(i)
except:
    print("遍历列表,查找其中的整数")
finally:
    print("列表遍历")
print(iny)

如果except子句头中的表达式求值引发异常,则取消对处理程序的原始搜索,
并在周围的代码和调用堆栈中开始搜索新的异常(它被视为整个try语句引发了异常)。
当找到匹配的except子句时,将异常赋值给except子句中的as关键字之后指定的目标
(如果存在的话),并执行except子句的套件。所有except子句必须有一个可执行块。
当到达这个块的末尾时,继续正常执行

如果控制流离开try套件,没有引发异常,也没有执行return、continue或break语句,
则执行可选的else子句。else子句中的异常不被前面的except子句处理。

try:
	正常执行语句 
except:
	异常时执行语句

list = [1,["a","b","c"],"ert",2,3,[1,2,3,4]]
for i in  list:
    try:
        for j in i:
            try:
                print("正常遍历 ")
            except:
                print("错误遍历")
                try:
                    print("参数是整数")
                    isinstance(j,int)
                except:
                    print("否")
    except:
        print("遍历错误")

a = ("a","b","c","d","e")
b = ("a","d","g","u","i")
num1 = 0
num2 = 0
for i in a:
    try:
        #在b元组中查找对应的a中的字符 ,这种情况下,如若 b中没有对应时,便会报错,这时使用异常处理语句,便可解决这一问题
        b.index(i)
        num1+=1
    except:#在上述语句中出现异常时,运行本语句下的内容
        num2+=1
print("重复个数:",num1)
print("不重复个数:",num2)

list = [1,["a","b","c"],"ert",2,3,[1,2,3,4]]
for i in  list:
    try:
        for j in i:
            try:
                print("正常遍历 ")
            except:
                print("错误遍历")
                try:
                    print("参数是整数")
                    isinstance(j,int)
                except:
                    print("否")
    except:
        print("遍历错误")

在finally子句执行期间,异常信息对程序不可用。
当在try…finally语句的try套件中执行return、break或continue语句时,finally子句也会在“退出时”执行。
函数的返回值由最后执行的返回语句决定。因为finally子句总是被执行,
所以在finally子句中执行的return
语句总是最后一个被执行的

try:
	正常执行语句 
finally:
	总是执行语句
def f():
    try:
        1
    finally:
        return 43
print(f())


def f():
    try:
        print("hello world")
    finally:
        return 43
print(f())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值