2015-08-03 3 views
1

Я использую Command Line Parser Library для консольного приложения C#. Как я могу восстановить сообщения об ошибках, если возникла ошибка?Получить сообщение об ошибке из командной строки Parser Library

Вариант использования заключается в том, что это консольное приложение будет вызываться из другого приложения, и я хочу предоставить сообщение об ошибке этого приложения, если возникла некоторая ошибка.

Вот фрагмент кода для синтаксического анализа:

var options = new Options(); 
if (!CommandLine.Parser.Default.ParseArguments(args, options)) 
{ 
    string errorMessage = ExctractParsingErrors(); 
    GenerateErrorInvalidArguments(errorMessage); 
    Environment.Exit(CommandLine.Parser.DefaultExitCodeFail); 
} 

Внутри функция ExctractParsingErrors() я должен извлечь разбор ошибки. Пример вывода этой функции может быть «-i/- отсутствует требуемая опция ввода.«

Любая идея, как мне удалось извлечь ошибки синтаксического анализа?

+0

Показать, как вы запускаете исполняемый файл. Если это Process.Start(), это действительно тривиально, чтобы зафиксировать стандартный и вывод ошибок. Попробуйте выполнить поиск. – CodeCaster

+0

Я хочу оставить информацию об ошибке в каком-либо файле, если это возможно. Таким образом, вопрос остается, если можно извлечь явно синтаксический анализ ошибки в командной строке, чтобы перенести информацию об ошибке в некоторый файл. – gandra404

+0

Вы говорите, что «это консольное приложение (A) будет вызываться из другого приложения (B), и я хочу предоставить сообщение об ошибке этого приложения (B?), Если возникает некоторая ошибка« _. Вы можете сделать это, прочитав стандартный и вывод ошибок приложения A из приложения B. – CodeCaster

ответ

0

Существует дополнительная перегрузка, которая позволяет передавать TextWriter helpWriter, согласно the documentation of the component you linked.

+1

Я могу импортировать ICommandLineParser ... В конечном итоге документация неточна? Вот скриншот Object Browser: http://i.imgur.com/obit3Jf.png – gandra404

Смежные вопросы