Laravel - HTTP Client - Error Handling

Unlike Guzzle's default behavior, Laravel's HTTP client wrapper does not throw exceptions on client or server errors (400 and 500 level responses from servers). You may determine if one of these errors was returned using the successful, clientError, or serverError methods:

    
    // Determine if the status code is >= 200 and < 300...
    $response->successful();
    
    // Determine if the status code is >= 400...
    $response->failed();
    
    // Determine if the response has a 400 level status code...
    $response->clientError();
    
    // Determine if the response has a 500 level status code...
    $response->serverError();