我有一个从C#调用的python脚本。代码提供如下。这个过程的问题是,如果Python失败,我无法在C#中理解并显示异常。我使用的是C#,MVC,Python。请您修改下面的代码,并告诉我如何捕捉Python脚本异常时抛出的异常?
Process process = new Process();
Stopwatch stopWatch = new Stopwatch();
ProcessStartInfo processStartInfo = new ProcessStartInfo(python);
processStartInfo.UseShellExecute = false;
proc
我在python中有一个coroutine (增强生成器),在数据结束后执行一些代码:
def mycoroutine():
try:
while True:
data = (yield)
print data
finally:
raise ValueError
print "END"
co = mycoroutine()
co.next()
for i in (1,2,3):
co.send(i)
不会引发ValueError异常,但解释器只需打印:
Exception ValueError: ValueErro
考虑以下代码:
with open('file.txt', 'r') as f:
for line in f:
print(line)
在Python3中,解释器试图解码它读取的字符串,这可能导致像UnicodeDecodeError这样的异常。当然,可以在整个循环周围使用try ... except块捕捉到它们,但我想在每一行的基础上处理它们。
问题:是否有一种方法可以直接捕获和处理读取的每一行的异常?希望不要过多地修改文件的简单语法?
目前,我正在努力确保我的Python脚本仍然活着,不管它是在什么情况下,因此,我试图捕获所有的异常,并找到一个apropiate脚本响应。
在我的脚本中,我试图捕捉在连接到MQTT代理时可能发生的错误,即:(1)通过没有插入的eth0连接,或者(2)路由器无法访问internet。
1的错误消息是:
socket.gaierror: [Errno -5] No address associated with hostname
2的错误消息是:
socket.gaierror: [Errno -2] Name or service not known
遗憾的是,我还没有捕捉到这些例外。这些是我试
我正在构建或尝试构建一个python脚本,它使用wmi模块检查特定程序的ip地址列表(ips.txt)。但是,无论我如何处理没有运行RPC服务的资产上的异常,脚本都会在出现错误时停止运行。我正在使用python 2.7.5
我能抓住并传递错误才能继续吗?我能否捕捉到错误并打印或返回ip未激活或rpc未运行的注释?
提前谢谢你
这是我的代码:
import wmi
list = open("ips.txt")
for line in list.readlines():
asset = line.strip('\n')
c = wmi.WMI(as