0

WMI がホストに接続できず、リスト内の次のコンピューターに移動できない場合に、スクリプトを実行し続ける方法を理解するのを手伝ってください。例外の後に続行を使用する必要がありますか?

import wmi
MachineList = ["Computer1","Computer2","Computer3"]
try:
    for machines in MachineList:
        c = wmi.WMI(machines) # <---- Go to next in the for loop when connection fail???
        for os in c.Win32_OperatingSystem():
            print os.Caption
except:
    pass
4

2 に答える 2

4
import wmi
MachineList = ["Computer1","Computer2","Computer3"]
for machines in MachineList:
    try:
        c = wmi.WMI(machines) # <---- Go to next in the for loop when connection fail???
        for os in c.Win32_OperatingSystem():
            print os.Caption
    except Exception: #Intended Exception should be mentioned here
        print "Cannot Connect to {}".format(machines)

一般的に言えば、制御フローに例外を使用していない限り、他の例外との混合を防ぐために、できるだけ早くキャッ​​チする必要があります。また、一般的なものをキャッチするのではなく、キャッチする例外を具体的にする必要があります。

于 2012-05-03T15:18:02.777 に答える
0
for machine in MachineList:
    try:
        c = wmi.WMI(machine)
        for os in c.Win32_OperatingSystem():
            print os.caption
    except Exception:
        print "Failed on machine %s" % machine
于 2012-05-03T15:16:25.683 に答える