extmple.js" is used to test both standard and custom error handling. **Requirement 1: Correct JavaScript Syntax and Error Handling** * Fix any syntax errors in the provided JavaScript code. This includes missing semicolons, incorrect variable declarations, and typos. Ensure that the code correctly handles both `try...catch` blocks and uses appropriate error objects. * Implement robust error handling throughout the code to catch potential exceptions and provide informative error messages to the user. * Include specific error handling for the following scenarios: * Invalid input data (e.g., non-numeric input when a number is expected). * Network errors when fetching data (e.g., problems with the `fetch` API). * Unexpected errors within the code. A generic error handler should be included. **Requirement 2: Functionality and User Interaction** * The script must include at least three distinct functions. * The script must take user input using a `prompt()` or `confirm()` to initiate operations. * Provide a simple user interface with `alert()` or `console.log()` to show output. * The script should do the following: 1. Prompt the user for a number. 2. Fetch data from a publicly available JSON API (e.g., `https://jsonplaceholder.typicode.com/todos/1`). 3. Perform a calculation using the number provided by the user and the data fetched from the API. 4. Display the result. **Requirement 3: Code Readability and Style** * Use meaningful variable and function names. * Add comments to explain the purpose of each function and the logic within the code. * Format the code consistently with proper indentation. **Requirement 4: Error Message Specificity** * The error messages must be specific and inform the user what went wrong and, if possible, how to fix it. **Example:** ```javascript // Function to fetch data from a JSON API async function fetchData(url) { try { const response = await fetch(url); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const data = await response.json(); return data; } catch (error) { console.error("Error fetching data:", error); alert("An error occurred while fetching data. Please check your network connection or the URL."); return null; } } // Function to perform a calculation function calculate(userNumber, apiData) { if (typeof userNumber !== 'number' || isNaN(userNumber)) { throw new Error('Invalid input: Please enter a valid number.'); } if (!apiData) { throw new Error("API data is missing. Cannot perform calculation."); } // Perform a sample calculation const result = userNumber * apiData.id; return result; } // Main function to orchestrate the process async function main() { try { const userNumber = parseFloat(prompt("Please enter a number:")); const apiData = await fetchData('https://jsonplaceholder.typicode.com/todos/1'); if (!apiData) { return; // Exit if data fetching failed } const calculationResult = calculate(userNumber, apiData); alert(`The result of the calculation is: ${calculationResult}`); } catch (error) { console.error("An unexpected error occurred:", error); alert(error.message || "An unexpected error occurred. Please try again later."); } } // Start the process main(); ``` **Your Task:** Create a complete and functional `example.js` file that meets all the requirements above. The javascript code should be inside `