Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Некорректная привязка номера строки в тексте ошибки к строке исполняемого кода #1429

Closed
240596448 opened this issue Jul 28, 2024 · 3 comments

Comments

@240596448
Copy link
Contributor

Функция Тест(Значение)
    а = 1;
    Возврат Значение;
КонецФункции

Массив = Новый Массив();
Тест(Массив[0]);

Данный код выбрасывет ошибку не при передаче значений в функцию, а на строке возврата значения
{Модуль ...\test.os / Ошибка в строке: 3 / Значение индекса выходит за пределы диапазона}
(ожидается на строке вызова)

Если же добавить к параметру Знач
Функция Тест(Знач Значение)
то версия 2.Х выдает коректную строку ошибки
{Модуль ...\test.os / Ошибка в строке: 7 / Значение индекса выходит за пределы диапазона}

а версии 1.Х выбрасывают исключение

System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
   в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   в OneScript.Language.LexicalAnalysis.SourceCodeIterator.GetCodeLine(Int32 lineNumber)
   в ScriptEngine.Machine.MachineInstance.SetScriptExceptionSource(RuntimeException exc)
   в ScriptEngine.Machine.MachineInstance.ExecuteCode()
   в ScriptEngine.Machine.MachineInstance.ExecuteModuleBody(IRunnable sdo)
   в ScriptEngine.Machine.Contexts.UserScriptContextInstance.OnInstanceCreation()
   в ScriptEngine.HostedScript.Process.Start()

Проверено на windows
2.0.0.471-rc4-28623755
1.9.1.7 и 1.8.4.54

@240596448 240596448 changed the title Некорректная привязка строки ошибки к строке кода Некорректная привязка номера строки в тексте ошибки к строке исполняемого кода Jul 28, 2024
@EvilBeaver
Copy link
Owner

Да, так всегда с первой версии работало, если не ошибаюсь. Ссылка разрешается в момент использования. Но по факту баг, конечно

@EvilBeaver
Copy link
Owner

@akpaevj это починено, верно понимаю?

@akpaevj
Copy link
Contributor

akpaevj commented Aug 7, 2024

@akpaevj это починено, верно понимаю?

Пока нет, не занимался

EvilBeaver added a commit that referenced this issue Aug 9, 2024
fix #1429: ошибка индекса выявляется при передаче параметра
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants