Используя base :: strftime () , вы можете получить символ нужного времени с любым делением секунд. Ниже я сохранил текущее время в единицу 1/1000 секунды, используя число «4» после «ОС»:
Используя текущее системное время:
time = Sys.time()
str(time)
POSIXct [1: 1], формат: "2019-01-19 15: 41: 28.185"
blockquote>
newTime = strftime(Sys.time(), format="%H:%M:%OS4") str(newTime)
chr «15: 41: 28.1851»
blockquote>
newTime
[1] «15: 41: 28.1851»
blockquote>
Можно поймать Win32Exception, чтобы проверить если Процесс. Запустите (), перестал работать из-за файла не, существующий или доступ на выполнение отклонен.
Но Вы не можете поймать исключения, выданные процессами, что Вы создаете использование этого класса. Во-первых, приложение не могло бы быть записано в.NET, таким образом, не могло бы быть понятия исключения вообще.
То, что можно сделать, проверяют ExitCode приложения или читают потоки StandardOutput и StandardError, чтобы проверить, отправляются ли сообщения об ошибках.
Я думаю, что Вы ищете Процесс. ExitCode, принимая процесс возвращает тот. Вы, возможно, должны использовать WaitForExit () все же. Существует также событие ErrorDataReceived, которое инициировано, когда приложение отправляет к stderr.
В дополнение к ExitCode можно также сделать что-то вроде этого:
string output = p.StandardOutput.ReadToEnd();
Это получит все, что было бы записано в командное окно. Затем можно проанализировать ту строку для известных шаблонов для отображения ошибок, в зависимости от приложения.
Подробно остановиться что сказанный @jop. Необходимо будет также ожидать процесса для закрытия. Таким образом:
p.Start();
p.WaitForExit();
int returnCode = p.ExitCode;
Ненулевые коды обычно являются ошибками. Отрицательные использования некоторого приложения являются ошибками и положительными как состояние, codes/warnings.