我正在运行curl命令来检查网站的状态:
try:
connectionTest = subprocess.Popen([r"curl --interface xx.xx.xx.xx http://www.yahoo.com"], shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
cstdout,cstderr = connectionTest.communicate()
if cstdout:
#print cstdout
status = "OK"
elif cstderr:
#print cstderr
status = "PROBLEM"
except:
e = sys.exc_info()[1]
print "Error: %s" % e
Run Code Online (Sandbox Code Playgroud)
代码工作正常,除了try:except语句没有正确捕获异常,下面是接口关闭时脚本的输出,现在我想在except语句中捕获第一行...而不是产生......这可能吗?
SIOCSIFFLAGS: Cannot assign requested address
PROBLEM
Run Code Online (Sandbox Code Playgroud)
没有异常抛出.您可以检查返回代码并在非零时抛出异常:
import sys, subprocess
try:
connectionTest = subprocess.Popen([r"curl --interface 1.1.1.1 http://www.yahoo.com"], shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
cstdout,cstderr = connectionTest.communicate()
if connectionTest.returncode:
raise Exception("Curl returned %s"%connectionTest.returncode)
if cstdout:
#print cstdout
status = "OK"
elif cstderr:
#print cstderr
status = "PROBLEM"
except:
e = sys.exc_info()[1]
print "Error: %s" % e
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3653 次 |
| 最近记录: |