Я бы добавил туда печать стека и убедился что при падении там нет вызовов из Composable-функций.
Вот такое вот решение придумал. получается стектрейс выведется и метод, класс и стейт
class ComposeShitException(override val message: String?) : Throwable(message) private val mutex: Mutex = Mutex() protected suspend fun setState(reducer: State.() -> State) { try { mutex.withLock { _state.value = state.value.reducer() Log.d( "SET_STATE", "${reducer.javaClass.name}\n" + _state.value.toString() ) } } catch (e: Exception) { ComposeShitException("${reducer.javaClass.name}\n" + _state.value.toString()).printStackTrace() e.printStackTrace() } } Вот такое решение придумал. выведется стектрейс + метод, класс который менял стейт и сами данные стейта на которые меняется
Обсуждают сегодня