РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
560 of 1392 menu

Метод throw

Метод throw применяется к экземпляру класса Http и позволяет автоматически выбрасывать исключение, если ответ HTTP-запроса содержит код ошибки (4xx или 5xx). Это удобно для обработки неудачных запросов без дополнительных проверок статуса. После вызова метода при возникновении ошибки выполнение скрипта прерывается.

Синтаксис

<?php Http::throw()->get($url); ?>

Пример

Давайте выполним GET-запрос и автоматически выбросим исключение при ошибке:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class ArticleController extends Controller { public function index() { $res = Http::throw() ->get('https://api.example.com/articles'); return $res->json(); } } ?>

Результат выполнения кода при успешном запросе:

["article 1", "article 2", "article 3"]

Результат выполнения кода при ошибке (например, 404):

"Illuminate\Http\Client\RequestException"

Пример

Давайте отправим POST-запрос и выбросим исключение при неудаче:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class UserController extends Controller { public function store() { $data = ['name' => 'John', 'email' => 'john@example.com']; $res = Http::throw() ->post('https://api.example.com/users', $data); return $res->json(); } } ?>

Результат выполнения кода при успешном запросе:

{"id": 1, "name": "John", "email": "john@example.com"}

Пример

Давайте выполним запрос с задержкой и выбросим исключение, если ответ не получен:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class ArticleController extends Controller { public function index() { $res = Http::timeout(5) ->throw() ->get('https://api.example.com/articles'); return $res->json(); } } ?>

Результат выполнения кода при превышении таймаута:

"Illuminate\Http\Client\ConnectionException"

Смотрите также

  • метод get,
    который выполняет GET-запрос
  • метод post,
    который выполняет POST-запрос
  • метод withHeaders,
    который добавляет заголовки к запросу
  • метод throw,
    который выбрасывает исключение из ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить