Ну да, теперь я вижу, что это не 4 пункта, а три с предисловием. Но так получается ещё глупее - автор так и не смог определиться, где у него ошибки, а где исключения.
В общем автор явно стажировался писать в корпоративных блогах на хабре, и отлично освоил жанр "налить воды с умным видом". 100% книга выпущена в библиотеке журнала Ксакеп, это прямо их фирменный стайл.
Автор вопроса видимо от страха пометил эту галиматью решением.
Редкая чушь.
Мало того, что оно на практике работает с точностью до наоборот - если в консоли ввести строку вместо числа, то будет исключение, а не ошибка. Мало того что внутренние ошибки перемешаны с внешними (при чем здесь 500 код?).
Но даже теория поставлена с ног на голову: большая часть исключений именно что прогнозируема и весьма успешно перехватывается заранее расставленным оператором.
Denis Melnikov, ну где не все-то? у автора в его arr.count(1) не все? в вашем sum(arr) == len(arr) не все? в выпендрёжном len(list(filter(lambda p : p != 1, arr))) > 0 не все? у гражданина пфг21 с его побайтовым И не все?
Елена, Это не костыли, это называется низкоуровневый доступ. Очень помогает разобраться, как вообще работает код, который ты пишешь.
Если хочется красоты, то вам уже рекомендовали Guzzle. Там все ответы уже распаршены и лежат в нужных переменных.
А чистый curl по сути - такой же говнокод, вид в профиль.
А в целом, надо всегда задавать вопрос про исходную проблему, а не про свои попытки её решить.
То есть не "POST работает как GET", а "Как обрабатывать ошибки file_get_contents при НТТР запросах". Это гораздо, гораздо логичнее
В общем автор явно стажировался писать в корпоративных блогах на хабре, и отлично освоил жанр "налить воды с умным видом". 100% книга выпущена в библиотеке журнала Ксакеп, это прямо их фирменный стайл.
Автор вопроса видимо от страха пометил эту галиматью решением.