Practice
1. What is the main purpose of using
try...catch in Deno?easy
Solution
Step 1: Understand the role of
Thetry...catchtry...catchblock is used to catch errors that happen during program execution.Step 2: Identify the effect on program flow
By catching errors, the program can handle them gracefully and continue running instead of crashing.Final Answer:
To handle errors and keep the program running smoothly -> Option AQuick Check:
Error handling = To handle errors and keep the program running smoothly [OK]
Hint: Try...catch blocks catch errors to prevent crashes [OK]
Common Mistakes:
- Thinking try...catch speeds up code
- Confusing error handling with logging
- Believing try...catch creates files
2. Which of the following is the correct syntax to log an error message in Deno?
easy
Solution
Step 1: Recall the console methods in Deno
Deno uses standard JavaScript console methods likeconsole.error()to log error messages.Step 2: Check each option's syntax
Onlyconsole.error('An error occurred')is valid syntax for logging errors.Final Answer:
console.error('An error occurred') -> Option BQuick Check:
console.error() logs errors = console.error('An error occurred') [OK]
Hint: Use console.error() to log errors clearly [OK]
Common Mistakes:
- Using non-existent console methods
- Mixing console.log and error methods incorrectly
- Misspelling console.error
3. What will be the output of this Deno code?
try {
throw new Error('Oops!')
} catch (e) {
console.log('Caught:', e.message)
}medium
Solution
Step 1: Understand the throw and catch behavior
The code throws an error with message 'Oops!'. The catch block catches it and accessese.message.Step 2: Analyze the console.log output
The catch block logs 'Caught:' followed by the error message, so output is 'Caught: Oops!'.Final Answer:
Caught: Oops! -> Option AQuick Check:
Catch logs error message = Caught: Oops! [OK]
Hint: Catch block logs error.message after throw [OK]
Common Mistakes:
- Expecting full error object printed
- Confusing error message with undefined
- Thinking no output occurs
4. Identify the error in this Deno code snippet:
try {
const data = JSON.parse('{ bad json }')
} catch {
console.log('Parsing failed', e.message)
}medium
Solution
Step 1: Check catch block syntax
In Deno (and modern JavaScript), catch block can omit error parameter, but to access error details, it must be declared.Step 2: Identify the problem with missing error parameter
The code tries to catch error but does not declare error variable, so error details can't be accessed if needed.Final Answer:
Missing error parameter in catch block -> Option CQuick Check:
Catch needs error param to access error = Missing error parameter in catch block [OK]
Hint: Always include error param in catch to access error info [OK]
Common Mistakes:
- Assuming catch() always requires error param
- Thinking console.log is wrong for errors
- Believing try block can't have code
5. You want to log an error with a timestamp and the error message in Deno. Which code snippet correctly does this?
hard
Solution
Step 1: Understand the requirement for timestamp and message
The log must include current time in ISO format and the error message.Step 2: Check each option for correct formatting
try { throw new Error('Fail') } catch (e) { console.error(`[${new Date().toISOString()}] Error: ${e.message}`) } uses template literals to combine timestamp and error message in one console.error call, which is correct.Final Answer:
try { throw new Error('Fail') } catch (e) { console.error(`[${new Date().toISOString()}] Error: ${e.message}`) } -> Option DQuick Check:
Timestamp + error message in one log = try { throw new Error('Fail') } catch (e) { console.error(`[${new Date().toISOString()}] Error: ${e.message}`) } [OK]
Hint: Use template literals with new Date().toISOString() for timestamps [OK]
Common Mistakes:
- Logging error and timestamp separately
- Missing error parameter in catch
- Using console.log instead of console.error for errors
