Я вижу, что проблема с обработкой ошибок в VBScript, поэтому я хотел бы исправить это с помощью кода C# (COM). Здесь мне нужно получить доступ к объекту Err VBScript в коде C# .net. Я добавил в проект ссылочное пространство имен VBScript_Global, но VBScript_Global.ErrObj - абстрактный класс, поэтому он не смог получить к нему доступ. Есть ли способ, которым код C# может просматривать Err.Number.Как получить доступ к объекту Err VBScript в коде C#
Позвольте мне уточнить, В VB6 у нас есть ошибка Error GoTo, в которой, если есть ошибка времени выполнения, она автоматически переходит в код обработки ошибок, и мы можем сообщить об ошибке там и выполнить соответствующее действие.
То же самое можно сказать и с .net и Java (возможно, это попробовать/поймать).
Здесь, как и в VBScript, у нас есть сообщение об ошибке Resume Next (оно не поддерживает GoTo). On Error Resume Next просто перемещает контроллер в следующий оператор и продолжает выполнение. Где нам нужно явно проверить, не удалось ли Err.number <> 0 после каждого утверждения в коде, что невозможно реализовать.
Так что я хочу использовать общий подход в VBScript, если есть ошибка времени выполнения, тогда я должен как-то сообщить об этом.
Я думал о написании dll в C# .net, который всегда проверяет значение Err.Number VBScript и сообщает о возникновении ошибки. Это возможно? Или мой подход неправильный? Любые другие альтернативные предложения/идеи для решения этой ситуации приветствуются. Благодарю.
Если dll не может делать то, что ищут, есть ли способ, который я всегда могу проверить, не является ли Err.number VBScript вне VBScript?
Как выполнить код vbscript с вашего кода на C#? Вы не можете получить какую-либо полезную информацию об ошибке, если используете класс Process, отличный от свойства ExitCode. Это часто бывает достаточно. –
Что такое «проблема с обработкой ошибок в VBScript»? Почему вы решили исправить это, добавив еще один компонент вместо предотвращения исходной проблемы? –