如果我的else语句在第一个函数中执行,我需要在引发语句之后执行第二个函数清除
但是因为这是一个例外,所以它不起作用,因此我的第二个函数cleanup()不起作用。
请注意:如果找不到该字符串,我需要在第一个函数中引发异常
请让我知道我该怎么做才能克服这个问题。非常感谢您的任何帮助
我已经尝试过使用else调用中的提高语句来实现此目的,但是它根本不起作用,因此我被卡住了。请帮助
import os
import re
def validated():
if 'line is up , protocol is up' in open('C:/Users/diwak/Desktop/1.txt').read():
print("true")
else:
raise ("Not found")
def cleanup():
print ("cleanup still performed")
print (validated())
(cleanup())
我的期望是两个函数都被执行:
1)第一个功能引发异常错误 2)执行清除功能
实际输出:
如果条件不匹配,程序将退出第一个函数本身
答案 0 :(得分:1)
我想这是理想的(虽然看起来很奇怪):
def validated():
try:
if 'helo' in 'hello world':
print("true")
else:
raise Exception("Not found")
except:
cleanup()
def cleanup():
print ("cleanup still performed")
validated()
答案 1 :(得分:0)
def validated():
try:
if 'line is up , protocol is up' in open('C:/Users/diwak/Desktop/1.txt').read():
print("true")
else:
print("string not found")
raise Exception("Not found")
except:
pass
def cleanup():
print ("but cleanup still performed")
validated()
cleanup()
我认为如果您同意通行证也应该有效