简体   繁体   English

Python发生异常时如何跳过执行

[英]How to skip execution if an exception occurs in Python

I am trying to do exception handling in the below code.我正在尝试在下面的代码中进行异常处理。 If there is an exception it should skip the next statements in the try block and should directly go to except block and continue the loop.如果有异常,它应该跳过 try 块中的下一个语句,并应该直接转到 except 块并继续循环。

from functools import reduce

def sumnumbers(list_elements):
    try:
        sum = reduce(lambda x, y: x + y, list_elements)
        return sum
    except Exception as e:
        print("Error in function", list_elements)

a = [[1,2],[3,"hi"],[5,6],[7,8],[9,"hello"]]
for i in a:
    try:
        s = sumnumbers(i)
        print("hello ", i)
    except Exception as e:
        print(e)
        pass

Actual output:实际输出:

hello  [1, 2]
Error in function [3, 'hi']
hello  [3, 'hi']
hello  [5, 6]
hello  [7, 8]
Error in function [9, 'hello']
hello  [9, 'hello']

Expected output:预期输出:

hello  [1, 2]
Error in function [3, 'hi']
hello  [5, 6]
hello  [7, 8]
Error in function [9, 'hello']

Hi first of all you can have look at here to understand more in dept how exceptions work in python.嗨,首先,您可以查看此处以更深入地了解异常在 python 中的工作原理。

from functools import reduce

def sumnumbers(list_elements):
    try:
        sum = reduce(lambda x, y: x + y, list_elements)
        return sum
    except Exception as e:
        raise Exception("Error in function", list_elements)

a = [[1,2],[3,"hi"],[5,6],[7,8],[9,"hello"]]
for i in a:
    try:
        s = sumnumbers(i)
        print("hello ", i)
    except Exception as e:
        print(e)
        pass

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM