How can PHP handle errors when accessing JSON data from a URL?

When accessing JSON data from a URL in PHP, errors can occur if the URL is invalid, the server is down, or the JSON data is malformed. To handle these errors, you can use try-catch blocks to catch exceptions and handle them gracefully. Additionally, you can use functions like file_get_contents() or cURL to fetch the JSON data and check for errors before decoding it.

<?php

$url = 'https://example.com/data.json';

try {
    $json = file_get_contents($url);
    
    if ($json === false) {
        throw new Exception('Failed to fetch JSON data');
    }
    
    $data = json_decode($json, true);
    
    if ($data === null) {
        throw new Exception('Failed to decode JSON data');
    }
    
    // Process the JSON data here
    
} catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
}

?>