У меня есть небольшое приложение VB.Net, которое выполняет системные команды, как это. Чтобы зафиксировать условия ошибки или успеха, я определяю регулярные выражения, соответствующие тексту ошибки, выведенному из команды, и записываю выходные данные следующим образом:
myprocess.Start()
procReader = myprocess.StandardOutput()
While (Not procReader.EndOfStream)
procLine = procReader.ReadLine()
If (MatchesRegEx(errRegEx, procLine)) Then
writeDebug("Error reg ex: [" + errorRegEx + "] has matched: [" + procLine + "] setting hasError to true.")
Me.hasError = True
End If
writeLog(procLine)
End While
procReader.Close()
myprocess.WaitForExit(CInt(waitTime))
Таким образом, я могу зафиксировать определенные ошибки, а также записать все выходные данные команды на случай непредвиденной ошибки.