OneScript icon indicating copy to clipboard operation
OneScript copied to clipboard

В конструкторе "Структура" (System.NullReferenceException): Object reference not set to an instance of an object}

Open otymko opened this issue 3 years ago • 3 comments

Опишите ошибку

В v8 допустим код (хотя не скажу что это не косяк в платформе):

Значение = Новый Структура(, Неопределено);

В ОСкрипте в лицо прилетает исключение:

{Модуль /Users/olegtymko/data/rnd/structure.os / Ошибка в строке: 1 / Внешнее исключение (System.NullReferenceException): Object reference not set to an instance of an object}

Воспроизведение ошибки

Выполнить код:

Значение = Новый Структура(, Неопределено);

Ожидаемое поведение

Исключение не должно быть, создается пустая структура.

Окружение

  • ОС: MacOs 12.2
  • Версия: 1.7.0.214

Дополнительная информация

otymko avatar Oct 15 '22 13:10 otymko

Ровно та же ошибка по той же самой причине возникает также в следующих случаях:

ЗаписатьJSON(); // !
ХешированиеДанных=Новый ХешированиеДанных(ХешФункция.CRC32);
ХешированиеДанных.Добавить(,); // !
ДеревоЗначений =новый ДеревоЗначений();
ДеревоЗначений.Строки.Сдвинуть(,0); // ! а Сдвинуть(,) - ещё хуже
ДеревоЗначений.Строки.НайтиСтроки(,); // !
XMLЗначение(,); // !
ЧтениеZipФайла = Новый ЧтениеZipФайла(,); // !
ФиксированнаяСтруктура = Новый ФиксированнаяСтруктура(,); // !
ФайловыйПоток = Новый ФайловыйПоток(ИмяФайла, РежимОткрытияФайла.Открыть);
ФайловыйПоток.КопироватьВ(,); // !
ПотокВПамяти = Новый ПотокВПамяти();
ПотокВПамяти.КопироватьВ(,); // !

Mr-Rm avatar Oct 15 '22 16:10 Mr-Rm

пропущенный первый параметр неправильно обрабатывается?

EvilBeaver avatar Oct 17 '22 12:10 EvilBeaver

Отсутствует проверка на null перед вызовом GetRawValue(). А ДеревоЗначений.Строки.Сдвинуть(,) падает раньше, по второму параметру в ContextMethodsMapper.ConvertParam<T>(). Это по какой-то другой причине.

Mr-Rm avatar Oct 17 '22 12:10 Mr-Rm