Error handling in Deno helps the program manage unexpected problems gracefully, preventing crashes and allowing the developer to respond to errors properly.
Click to reveal answer
beginner
How do you catch errors in Deno using try-catch?
You wrap the code that might fail inside a try block and handle errors in the catch block, like this:
Logging records important events or errors during program execution. It helps developers understand what happened and diagnose issues.
Click to reveal answer
beginner
How can you log messages in Deno?
You can use console.log() for general messages and console.error() for error messages. Deno also supports advanced logging modules for structured logs.
Click to reveal answer
intermediate
What is a simple way to handle asynchronous errors in Deno?
Use try-catch inside an async function or handle errors with .catch() on promises to catch errors from asynchronous operations.
Click to reveal answer
Which block is used to handle errors in Deno?
Acatch
Btry
Cfinally
Dhandle
✗ Incorrect
The catch block is used to handle errors thrown inside the try block.
What does console.error() do in Deno?
ASends errors to a file
BStops the program
CCatches errors automatically
DLogs error messages to the console
✗ Incorrect
console.error() prints error messages to the console, helping developers see problems.
How do you catch errors from an async function in Deno?
AUsing try-catch inside the async function
BUsing only try without catch
CUsing console.log
DErrors cannot be caught in async functions
✗ Incorrect
You use try-catch inside async functions to catch errors from awaited operations.
Which of these is NOT a valid way to log in Deno?
Aconsole.log()
Bconsole.print()
Cconsole.error()
DUsing third-party logging modules
✗ Incorrect
console.print() is not a valid logging method in Deno.
Why is error handling important in Deno applications?
ATo avoid writing logs
BTo make the program run faster
CTo prevent program crashes and manage unexpected issues
DTo automatically fix bugs
✗ Incorrect
Error handling helps keep the program running smoothly by managing unexpected problems.
Explain how to use try-catch blocks for error handling in Deno.
Think about wrapping risky code and catching errors.
You got /4 concepts.
Describe the role of logging in debugging Deno applications.
Logging helps you see what happened inside your program.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of using try...catch in Deno?
easy
A. To handle errors and keep the program running smoothly
B. To speed up the program execution
C. To create new files automatically
D. To log messages to the console
Solution
Step 1: Understand the role of try...catch
The try...catch block 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 A
Quick 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
A. console.log.error('An error occurred')
B. console.error('An error occurred')
C. console.err('An error occurred')
D. console.errorMessage('An error occurred')
Solution
Step 1: Recall the console methods in Deno
Deno uses standard JavaScript console methods like console.error() to log error messages.
Step 2: Check each option's syntax
Only console.error('An error occurred') is valid syntax for logging errors.
The code throws an error with message 'Oops!'. The catch block catches it and accesses e.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 A
Quick 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
A. console.log should be console.error
B. JSON.parse syntax is correct
C. Missing error parameter in catch block
D. try block should not have code
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 C
Quick 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
A. try {
throw new Error('Fail')
} catch (e) {
console.log('Error:', e)
}
B. try {
throw new Error('Fail')
} catch (e) {
console.error(e)
console.log(new Date())
}
C. try {
throw new Error('Fail')
} catch {
console.error('Error occurred')
}
D. try {
throw new Error('Fail')
} catch (e) {
console.error(`[${new Date().toISOString()}] Error: ${e.message}`)
}
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 D
Quick 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
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.