use Law4Devs\Exceptions\Law4DevsException;
use Law4Devs\Exceptions\NotFoundError;
use Law4Devs\Exceptions\RateLimitError;
use Law4Devs\Exceptions\ValidationError;
try {
$page = $client->articles->list('invalid-framework');
} catch (NotFoundError $e) {
// Framework not found
echo 'Framework not found: ' . $e->getMessage() . "\n";
} catch (ValidationError $e) {
// Bad request parameters
echo 'Invalid request: ' . $e->getMessage() . "\n";
} catch (RateLimitError $e) {
// Retry after a delay (SDK already retried 3 times)
echo 'Rate limit hit: ' . $e->getMessage() . "\n";
} catch (Law4DevsException $e) {
// All other SDK errors (server errors, network failures)
echo 'SDK error (' . $e->statusCode . '): ' . $e->getMessage() . "\n";
}