import webbrowser
import time
import sys
import urllib.request
def con():
cont = input("Do you want to continue? ")
if (cont.lower() == "yes" or cont.lower() == "y"):
main()
elif (cont.lower() == "no" or cont.lower() == "n"):
sys.exit()
else:
print("Invalid answer. Please try again")
time.sleep(1)
con()
def main():
try:
website = input("What website do you want to go to? (ex. Example.com) ")
fWebsite = "http://{}".format(website)
time.sleep(1)
if (urllib.request.urlopen(fWebsite).getcode() == 200):
webbrowser.open(fWebsite)
time.sleep(1)
except:
print("Invalid website. Please enter another one")
time.sleep(1)
main()
con()
main()
当代码运行con()时,每当我尝试输入no时,它总是说invalid website。请输入另一个。如何修复它以退出程序?其他的都能用,只是这一部分
sys.exit
函数通过引发SystemExit
异常来工作。您的代码有一个空的except
块,它捕获异常并抑制其正常用途(即安静地退出)解决这个问题的最佳方法是使您的
except
子句更加特定于您希望捕获的异常类型。捕获所有异常几乎总是一个坏主意(唯一的例外是捕获所有异常,但记录并重新引发大部分异常)由于您的特定代码正试图处理来自} 可能是您的最佳选择
urllib
的异常,因此捕获^{相关问题 更多 >
编程相关推荐