Думал, что 4хх ошибки не попадают в catch, например, 401 не является ошибкой, это просто неавторизированный пользователь. Но потестил и понял, что все 4хх попадают в обработчик. Это так давно? Все ли ошибки попадают в обработчик?
Иван, тут я немного ошибся. validateStatus это в axios. Это всё в доке, какие статьи.
У фетча же первым написано:
Промис, возвращённый из fetch(), не будет отвергнут при статусе ошибки HTTP, даже если ответ является HTTP 404 или 500. Вместо этого, оно будет разрешаться нормально (со статусом ok установленным в false), и будет отклоняться только при сбое в сети или если что-то помешало завершению запроса.
а чем пользуетесь вы никто тут не знает и где и как точно возникает ошибка - тоже