Python 是否可以捕获错误并执行代码,而不使用Try only或带有条件?
我想知道我们是否可以完全在Python 是否可以捕获错误并执行代码,而不使用Try only或带有条件?,python,exception,conditional-statements,Python,Exception,Conditional Statements,我想知道我们是否可以完全在try部分执行代码,而不使用else。 显然,它是有效的。以下是一个例子: x = int(input()) try: print(10/x) print("Possible") except ZeroDivisionError as e: print(e) 或者我们可以这样做,这是最常用的语法: x = int(input()) try: print(10/x) except ZeroDivisionError as e: print(e)
try
部分执行代码,而不使用else
。
显然,它是有效的。以下是一个例子:
x = int(input())
try:
print(10/x)
print("Possible")
except ZeroDivisionError as e:
print(e)
或者我们可以这样做,这是最常用的语法:
x = int(input())
try:
print(10/x)
except ZeroDivisionError as e:
print(e)
else:
print("Possible")
在这种情况下,我们甚至可以使用一个条件:
x = int(input())
if x !=0:
print(10/x)
print("possible")
elif x ==0 :
print("Error!")
那么这三者之间的区别是什么呢?应该使用哪一种?这三种方法似乎都能捕捉并防止错误。可能是第一种。原因如下。当您使用
try except
块时,您可以控制异常,并且可以显示自定义消息以及堆栈跟踪。第二个不是很可读,而且有点冗余(毕竟,如果一切顺利,为什么要显示任何消息!),第三个没有显示错误发生的位置和方式。如果这不是你关心的问题,那么任何一个都可以。可能是第一个。原因如下。当您使用try except
块时,您可以控制异常,并且可以显示自定义消息以及堆栈跟踪。第二个不是很可读,而且有点冗余(毕竟,如果一切顺利,为什么要显示任何消息!),第三个没有显示错误发生的位置和方式。如果这不是您所关心的,那么其中任何一个都可以正常工作。最好使用try-except,因为您可能无法始终掌握所有错误。例如,如果用户输入一个“字符串”,您仍然会得到一个错误
您还可以使用“except”命令捕获所需的错误。您可以看到错误所在。如果使用“尝试除外”效果更好,因为您可能无法始终掌握所有错误。例如,如果用户输入一个“字符串”,您仍然会得到一个错误
您还可以使用“except”命令捕获所需的错误。您可以看到错误所在。如果输入在
中,请尝试,我想打印除法结果,如打印(10/x)
,这个打印语句应该在try内部还是在其他内部?不。如果你不在,它最好不在那里;我不想捕捉输入中的任何错误try except
block仅获取要对其执行错误处理的代码部分。在这里,您不希望处理用户输入内容时发生的任何错误,因此它不应该进入try except块OK然后,假设我们在块外输入内容,并在try
内部定义一个变量,如result=10/x
。现在,如果我想打印result
打印语句应该在哪里?在try
(将result=10/x与result=10/x一起,或分别放在中,否则
?这两种方法似乎都有效。如果输入在try
中,而我想像print(10/x)一样打印除法结果,该怎么办
?,此打印语句应该在try内部还是在else内部?不。如果您不想捕获输入中的任何错误,它最好不在那里。try except
block只处理您想处理错误的代码部分。在这里,您不想处理用户输入内容时发生的任何错误,因此我们不应该进入try except块OK,假设我们在块外有输入,我们在try
内定义了一个变量,如result=10/x
现在如果我想打印result
打印语句应该在哪里?Whithintry
(将result=10/x与else组合使用,或将单独放入else
?两种方法似乎都有效。