欢迎访问宙启技术站
智能推送

Python中ifelse()语句与异常处理的综合应用

发布时间:2023-12-26 01:11:33

在Python中,if-else语句可以用于根据条件执行不同的代码块。异常处理则是用来捕获并处理程序中可能出现的错误。

下面是一个综合应用if-else语句和异常处理的例子:

try:
    num1 = int(input("请输入一个整数:"))
    num2 = int(input("请输入另一个整数:"))
    
    if num2 == 0:
        raise ZeroDivisionError("除数不能为0")
        
    result = num1 / num2
    print("结果为:", result)
    
except ValueError:
    print("输入的不是整数,请重新输入")
    
except ZeroDivisionError as e:
    print(e)
    
except Exception as e:
    print("发生了未知错误:", e)
    
else:
    print("没有发生异常")
    
finally:
    print("程序结束")

在上面的代码中,我们使用try-except语句来捕获可能出现的错误。首先,我们尝试将用户输入的字符串转换为整数,如果无法转换则会抛出ValueError异常,然后执行对应的处理代码块。接着,我们使用if语句来检查除数是否为0,如果为0则抛出ZeroDivisionError异常,并打印出对应的错误信息。如果没有出现异常,则会执行else语句块中的代码。最后,不论是否出现异常,都会执行finally语句块中的代码。

假设用户输入的 个整数为5,第二个整数为0,那么程序的输出将会是:

请输入一个整数:5
请输入另一个整数:0
除数不能为0
程序结束

如果用户输入的都是整数,且第二个整数不为0,那么程序的输出将会是:

请输入一个整数:10
请输入另一个整数:2
结果为: 5.0
没有发生异常
程序结束

如果用户输入的不是整数,而是字符串或其他非整数类型,那么程序的输出将会是:

请输入一个整数:abc
输入的不是整数,请重新输入
程序结束

可以看到,通过使用if-else语句和异常处理,我们可以根据不同的条件执行不同的代码块,并且能够捕获和处理可能出现的错误,从而使程序更加健壮和容错。