вообще никакие исключения не выдает, например нехватка памяти или неправильный размер был указан?
А что значит неправильный размер?
В C++ есть два exception bad_alloc и еще один с неправильно указанным размером, да да вы не удивляйтесь, просто последний унаследован от bad_alloc. Я понимаю, что у вас своя поляна и хочется по быстрее во всем этом разобраться, как вы обрабатываете исключения от new?
Понял
Погоди, как никак? А если ты пытаешься выделить кусок в 4 гб и тебе ОС говорит, ты че с ума сошел?
И выбрасывается исключение
Подожди последнего не понял, ты пытаешься через new динамически выделить память и new обычно выкидывает исключения. Я немного не понял последнее
Ну ты удивляешься почему автор библиотеки (какой-то) не ловит исключения in-place
Да похер на него, будем делать правильно, подскажи пожалуйста, исключения то какие? Или ссылку на где можно это узнать? Ибо https://dlang.org/spec/arrays.html здесь кроме ArrayIndexError я пока не нашел.
Просто в действительности этот чат реально помогает понять как вы это делаете, ибо опыта у вас побольше. D хоть и похож на C++ но блин не одно и тоже.
Есть спека по new. Но там про эксепшоны ничо не пишут хех https://dlang.org/spec/expression.html#NewExpression
Это 100%?
А еще коль ты тесты показываешь, я на GitHub полазил посмотрел как кто делает и понял, что ну как кто хочет так и может. Вы тесты не создаете отдельными файлами а прямо в описании модуля пишите?
да можно прям в классе после метода(чисто тест метода)
Посмотрел сорсы, кидает OOM Error (не эксепшн). При 0 возвращает null https://github.com/dlang/dmd/blob/314ab41a03a9046b90b491c63eb79d85108467c9/druntime/src/rt/lifetime.d#L956
в package.d, кст, лично у меня unittest-ы не работают. на заметку
я тоже не знал))
Обсуждают сегодня