home.social

#error_handling — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #error_handling, aggregated by home.social.

fetched live
  1. Почему ваше React Native приложение падает при установке и как один метод в MainApplication это исправляет

    Твое React Native приложение стабильно падает при первом запуске, а в логах только каша и отчаяние? Забудь про JS-инициализацию и гонку потоков — спускаем нативные SDK в Application.onCreate() через рефлексию, чтобы победить краши раз и навсегда. В новой статье разбираем универсальный подход для Яндекс.Карт, Firebase и других библиотек, который сэкономит тебе часы отладки. Заходи, будет интересно…

    habr.com/ru/articles/1055180/

    #crash #error #error_handling #kotlin #react_native

  2. Error messages in UX: how to make them effective and user-friendly

    An error message is a short message that appears on the screen when a user does something wrong or a software product itself fails to perform and complete a certain action. They are often perceived as insignificant annoying notifications that no one actually reads before clicking “OK”, but in fact they play a vital role in providing information on any problems and issues that users encounter during app use and aiding them in completing tasks successfully. The way error messages are designed impacts user experience heavily: poor design leaves users in confusion on what exactly went wrong and how to fix it, which in its turn leads to frustration and even app abandonment, whereas effectively crafted messages serve as a helpful tool in providing clarity on how to proceed when encountering an issue.

    habr.com/ru/articles/1057944/

    #ux #ux_design #ux_дизайн #error #error_handling #error_message #ошибки

  3. Ваше сообщение об ошибке читает уставший человек в два часа ночи

    Два часа ночи, у разработчика горит релиз, он подключает ваш API — и получает в ответ голое «invalid_request». Что не так, почему, что делать — ни слова. Сорок минут гаданий и злое письмо в поддержку. Разбираем, как сделать опыт разработчика (DX) человеческим: как переписать ошибки по стандарту RFC 9457, но для живого человека; почему время до первого успешного вызова — главная метрика онбординга; и отчего предсказуемый, «скучный» API — это комплимент. С готовым шаблоном, который можно прикрутить к себе сегодня.

    habr.com/ru/articles/1042850/

    #api #dx #developer_experience #rest #обработка_ошибок #error_handling #RFC9457 #problem_details #ttfhw #онбординг_разработчиков

  4. [Перевод] Тихий Promise, который убьёт ваш сервер Node.js

    У вас есть продакшен-сервер. Он спокойно работает часами. А потом внезапно падает. Без предупреждения, без graceful-деградации. Просто мёртв. Виновник? Одна строчка кода, которая выглядит совершенно безобидно...

    habr.com/ru/articles/988132/

    #nodejs #промисы #асинхронность #promise #await #async #javascript #typescript #error_handling #обработка_ошибок

  5. Хватит писать try-catch в контроллерах: как я причесал ошибки в Express и перестал бояться деплоя

    Знаете это чувство, когда открываешь контроллер в Express проекте, чтобы поправить одну строчку логики, и видишь ЭТО ? Бесконечная вложенность, проверки на существование полей, ручной парсинг ошибок от базы данных и, конечно же, его величество try-catch , который занимает 80% файла. Я тоже через это проходил. В каждом новом микросервисе я копипастил одни и те же функции обработки ошибок. В одном проекте я ловил ошибки Mongoose через err.name === 'ValidationError' , в другом — через instanceof . Где-то мы отдавали { error: "message" } , где-то { status: "fail", msg: "..." } . В какой-то момент мне это надоело. Мне захотелось инструмент, который я могу просто подключить одной строкой, и он сам поймет, что "E11000" от Mongo — это 409 Conflict, а ошибка Zod — это 400 Bad Request. При этом я не хотел тянуть в проект тяжелые зависимости. Так родилась библиотека ds-express-errors . Сегодня я расскажу, зачем я ее написал и почему она может сэкономить вам кучу нервов.

    habr.com/ru/articles/981456/

    #error_handling #express #graceful_shutdown #javascript #nodejs #opensourse #middleware #custom_config_parameters

  6. 10 Принципов отказоустойчивости (с примерами на Javascript)

    С хорошей отказоустойчивостью интерфейс остаётся стабильным и понятным, пользователь получает предсказуемый и комфортный опыт, а сбои отдельных компонентов не приводят к сбоям всей системы. В этой статье речь не будет идти о конкретных примерах реализации повышения отказоустойчивости. Понять то, что нужно подключать сервисы мониторинга ошибок вы можете и без меня. Хорошая отказоустойчивость начинается с мышления. Я хочу, чтобы эта фраза въелась вам в самую подкорку. Важно не просто латать ошибки по мере их появления, а комплексно подходить к решению — формировать правильное понимание, разрабатывать устойчивые подходы и строить систему, способную адекватно реагировать на возможные сбои. Принципы описанные далее универсальные и подойдут к большому количеству сфер, даже вне области информационных технологий. Перейти к 10 принципам

    habr.com/ru/articles/918574/

    #отказоустойчивость #UX #архитектура #ошибки #стабильность #fallback #устойчивость #frontend #error_handling #надежность

  7. [Перевод] Об (отсутствии) синтаксической поддержки обработки ошибок в Go

    Программисты на Go уже давно и долго жалуются на слишком многословную обработку ошибок. Все мы близко (а иногда и болезненно) знакомы со следующим шаблоном кода: x, err := call() if err != nil { // обработка err} Проверка if err != nil встречается настолько часто, что может становиться объёмнее остального кода. Обычно это происходит в программах, выполняющих много вызовов API, в которых обработка ошибок рудиментарна и они просто возвращаются. Некоторые программы в итоге выглядят примерно так: func printSum(a, b string) error { x, err := strconv.Atoi(a) if err != nil { return err } y, err := strconv.Atoi(b) if err != nil { return err } fmt.Println("result:", x + y) return nil } Из десятка строк кода тела этой функции реальную работу выполняют только четыре (вызовы и последние две строки). Остальные шесть строк — это шум. Код слишком многословен, поэтому неудивительно, что жалобы на обработку ошибок уже годами находятся на вершине списков в опросах разработчиков. (Какое-то время жалобы на обработку ошибок обгоняла только досада из-за отсутствия дженериков, но теперь, когда Go поддерживает дженерики, обработка ошибок снова вернулась на первое место.) Команда разработчиков Go воспринимает отзывы сообщества со всей серьёзностью, поэтому мы много лет пытались придумать решение этой проблемы.

    habr.com/ru/articles/915468/

    #обработка_ошибок #синтаксис #error_handling #ошибки

  8. [Перевод] Обработка ошибок и их стратеги

    В мире разработки бизнес-приложений, особенно построенных по принципам Domain-Driven Design (DDD) , важным элементом архитектуры является обработка ошибок. Неправильно реализованная стратегия может привести к логическому хаосу и плохому пользовательскому опыту. Представьте, если ошибка базы данных попадёт напрямую в UI — это не только некрасиво, но и опасно. Слоистая архитектура предполагает чёткое разделение ответственности:

    habr.com/ru/articles/909414/

    #exception #php #error_handling #error_reporting

  9. Прагматичное функциональное программирование в Java

    Прагматичное функциональное программирование в Java при помощи монады XResult<T> , которая сочетает в себе свойства Optional<T> , Result<T> и Either<L,R> Читать далее ...

    habr.com/ru/articles/876736/

    #monad #optional #result #either #error_handling

  10. [Перевод] Полное руководство по обработке ошибок в Python

    Я часто сталкиваюсь с разработчиками, очень хорошо знающими механику обработки ошибок в Python, однако когда я начинаю выполнять ревью их кода, он оказывается далеко неидеальным. Исключения в Python — это одна из тех областей, поверхностный уровень которого знает большинство, но многие разработчики даже не догадываются о существовании более глубокого, почти тайного уровня. Если вы хотите протестировать себя по этой теме, то проверьте, сможете ли вы ответить на следующие вопросы: Когда следует перехватывать исключения, генерируемые вызываемыми вами функциями, а когда этого делать не нужно? Как узнать, какие классы исключений нужно перехватывать? Что нужно делать при перехвате исключений для их «обработки»? Почему перехватывание всех исключений считается порочной практикой, и когда делать это приемлемо? Вы готовы узнать секреты обработки ошибок в Python? Тогда поехали!

    habr.com/ru/articles/853056/

    #обработка_ошибок #исключения #перехват_ошибок #exceptions #error_handling

  11. 📣 Understanding the 500 HTTP Status Code in Django
    📄 What not to do and, what is available.
    🔗 softwarecrafts.co.uk/100-words
    #100_words,#django,#error_handling

  12. 📣 Understanding the 500 HTTP Status Code in Django
    📄 What not to do and, what is available.
    🔗 softwarecrafts.co.uk/100-words
    #100_words,#django,#error_handling