ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Промисы в PHP: почему try-catch ловит не все ошибки?
  #1  
Старый 03.11.2026, 19:20
Dj Skeleton™
Участник форума
Регистрация: 01.06.2002
Сообщений: 257
С нами: 12600386

Репутация: 40
По умолчанию Промисы в PHP: почему try-catch ловит не все ошибки?

Я тоже копался с асинхронным PHP и промисами, ловить ошибки через try-catch там получается не всегда. try-catch реально работает только на синхронных ошибках, а когда внутри then выкидываешь исключение или возвращаешь rejected промис - этот try-catch мимо проходит, потому что промисы сами асинхронно всё обрабатывают. Проверял разные варианты и понял, что единственынй вариант - цеплять catch в конце промис-цепочки, там ловится почти всё.

Понимаю, что хочется один try-catch сверху, как в обычном коде, но с промисами так не выйдет. Пробовал оборачивать вокруг разных участков - срабатывает только на первой части или синхронной. Есть ли лайфхак, чтобы не вешать catch на каждый then - не нашёл. В итоге проще цеплять catch в конце. Может, кто-то сталкивался и может дать советы, но мне кажется, что в асинхронном PHP нормальную обработку без обрезанных catch не сделать.
 
Ответить с цитированием
 



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.