Size: a a a

Kotlin Community

2020 July 27

D

Dmitry in Kotlin Community
Я так понимаю там какая-то магия для сохранения стектрейсов, и мне ее надо просто отключить. Пусть честно инлайнит.
источник

AE

Alexandr Emelyanov in Kotlin Community
Dmitry
У меня есть инлайн топ левел функция submitNonFatal() - которая кидает эксепшн в аналитику. Но в эксепшене стектрейс всегда указывает на функцию, а не на то место, где она вызвана. Может есть какая аннотация, чтобы прямо все содержимое заинлайнилось, включая стектрейсы?
Так предыдущая строка будет место вызова, нет?
источник

D

Dmitry in Kotlin Community
Alexandr Emelyanov
Так предыдущая строка будет место вызова, нет?
Следующая, да. Но поскольку первая строка одинаковая - аналитика все эти ошибки группирует в одну ошибку.
источник

АА

Азамат Абдилов... in Kotlin Community
Всем привет, где поставить вопрос, чтобы элвис оператор сработал и выкинул content not found exception?
источник

MI

Mukhamed Issa in Kotlin Community
Азамат Абдилов
Всем привет, где поставить вопрос, чтобы элвис оператор сработал и выкинул content not found exception?
findAllByIds должен возвращать nullable
источник

PE

Pavel Erokhin in Kotlin Community
Азамат Абдилов
Всем привет, где поставить вопрос, чтобы элвис оператор сработал и выкинул content not found exception?
У тебя сейчас получился код

val result = contentRepo....map {}.toList()
if (result == null) throw Content...()

Исключение
никогда не будет выброшено
источник

PE

Pavel Erokhin in Kotlin Community
Поменяй ?: на
.also { if (it.isEmpty()) throw ContentNotFoundException() }
источник

AM

Andrew Mikhaylov in Kotlin Community
Или .toList().takeIf { it.isNotEmpty() } ?: throw
источник

PE

Pavel Erokhin in Kotlin Community
У него по идее никогда toList не вернет null, пустую коллекцию максимум
источник

AM

Andrew Mikhaylov in Kotlin Community
Pavel Erokhin
У него по идее никогда toList не вернет null, пустую коллекцию максимум
Так takeIf превратит его в null, если условие не выполнится
источник

PE

Pavel Erokhin in Kotlin Community
Andrew Mikhaylov
Так takeIf превратит его в null, если условие не выполнится
Но в takeIf ты проверяешь не нулл ли лист, никогда не выбросит исключение, я прав?
источник

I

Igor in Kotlin Community
Andrew Mikhaylov
Или .toList().takeIf { it.isNotEmpty() } ?: throw
isNotEmpty()
источник

PE

Pavel Erokhin in Kotlin Community
takeIf { !it.isEmpty() } ?: throw, в его случае сработает как он ожидает, если ничее не будет
источник

AM

Andrew Mikhaylov in Kotlin Community
Да, простите, конечно isNotEmpty()
источник

I

Igor in Kotlin Community
Только не понятно нафига кидать исключения, если можно вернуть List<T>?
источник

PE

Pavel Erokhin in Kotlin Community
Igor
Только не понятно нафига кидать исключения, если можно вернуть List<T>?
+1
источник

AM

Andrew Mikhaylov in Kotlin Community
Я и функцию-то такую, isNotNull(), не вижу 😅
источник

AE

Alexandr Emelyanov in Kotlin Community
Dmitry
Следующая, да. Но поскольку первая строка одинаковая - аналитика все эти ошибки группирует в одну ошибку.
А, понял
источник

AE

Alexandr Emelyanov in Kotlin Community
Dmitry
Следующая, да. Но поскольку первая строка одинаковая - аналитика все эти ошибки группирует в одну ошибку.
А он точно инлайнится?
источник

PE

Pavel Erokhin in Kotlin Community
Andrew Mikhaylov
Я и функцию-то такую, isNotNull(), не вижу 😅
Да вот я тоже сомневался, по этому выше написал !isEmpty(), это вот со строками такое есть isNotEmpty и прочее
источник