Разве try catch в dev библиотеках не затрудняет разработку?
Не могу не написать. Интересует ваше мнение.
Очень часто в dev версиях библиотек все обернуто в try catch, которое перехватывает ошибку и рисует ее в красивой красной рамочке с уточнением, что именно наша отважная библиотека перехватила ошибку в вашем коде секунду назад. Круто. Но гараздо удобнее видеть ошибку в том месте где она произошла, с текущим стеком и всеми аргументами, непосредственно в момент выполнения упавшего кода. Это упрощает понимание происходящего. Сегодня для эксперимента удалил try catch в react.dev.js и ошибки в render функциях стало очень удобно анализировать и исправлять. Почему авторы библиотек не понимают что нужно для удобной разработки, а что для прода? Если я не прав - прошу вразумить. Спасибо. |
Megabyte, знаешь почему булочки продают по 3шт, а сосиски по 5шт?
|
Это первая мудрость пуленепробиваемого монаха. Но в моем вопросе это как поможет? : )
|
Цитата:
|
Ответ: потому что жизнь - боль.
Я хз почему отладка реакта превращается в пляски с бубном. Мне постоянно не покидает чувство, что наверное я просто что-то не понимаю и делаю не так. Но нагуглить как делать "так" - тоже не получается... |
Цитата:
Оно конечно, сложность программ у всех разная... Но я довольно быстро "разруливаю" проблемы в Реакте, с которыми обращаются мои сотрудники. Как правило это они и являются источниками проблем. :) Если все "разложить" на простые элементы/функции - все становится понятно. |
Цитата:
Если их придерживаться - проблем почти не возникает. |
ksa, вот например ошибки вида
Цитата:
В стеке только куча внутреннего реакт мусора и примерное(очень, сука, примерное) имя компонента. Кодовая база - легаси, написанный криворучками на чистом js. И вот как это диагностировать не тратя кучу времени на ручной перебор? Куда оно конкретно прилетело и откуда? Хз. Простите за экспрессию.) |
Цитата:
Так вот я с этим согласен. :D Просто собираю свою "коллекцию" сообщений и "ситуаций". Это потом позволяет в диагностике "типичных" ситуаций. Цитата:
Но, думаю, ты найдешь охайничков. :victory: |
Цитата:
Эта ошибка возникает в старом реакте без классов. Если компонентам проставить displayName, то сообщения об ошибках станут информативнее. Как раз эту ошибку сложно отловить в месте возникновения, так как валидация происходит после выхода из метода. Тут бы пригодился механизм получения имени файла и строки в исходнике для произвольного метода. Например, вызвать метод с пустым this от чего он упадет, перехватить эту ошибку через try catch и из стека узнать местонахождение метода в коде. |
Часовой пояс GMT +3, время: 18:55. |