This script defines a function that throws an error if the age is less than 18. The error is caught and shown.
PowerShell
function Check-Age {
param([int]$age)
if ($age -lt 18) {
throw "Age must be 18 or older."
} else {
Write-Host "Age is valid: $age"
}
}
try {
Check-Age -age 16
} catch {
Write-Host "Error caught: $_"
}
OutputSuccess
Important Notes
Use throw to stop the script when you find a serious problem.
You can catch thrown errors with try/catch blocks to handle them gracefully.
Throwing errors helps make your scripts more reliable and easier to debug.
Summary
throw stops the script and shows an error message.
Use it to catch problems early and prevent wrong results.
Combine with try/catch to handle errors nicely.
Practice
(1/5)
1. What does the throw statement do in PowerShell?
easy
A. It stops the script and shows an error message.
B. It continues the script without any interruption.
C. It prints a warning but does not stop the script.
D. It pauses the script and waits for user input.
Solution
Step 1: Understand the purpose of throw
The throw statement is used to stop script execution immediately and display an error message.
Step 2: Compare with other options
Options B, C, and D describe behaviors that do not match throw. Only It stops the script and shows an error message. correctly describes stopping the script with an error.
Final Answer:
It stops the script and shows an error message. -> Option A
Quick Check:
throw stops script = A [OK]
Hint: Remember: throw always stops script with error [OK]
Common Mistakes:
Thinking throw only shows a warning
Confusing throw with Write-Host or Write-Warning
Assuming throw pauses for input
2. Which of the following is the correct syntax to throw an error with the message "File not found" in PowerShell?
easy
A. throw -Message "File not found"
B. throw 'File not found'
C. throw File not found
D. throw(File not found)
Solution
Step 1: Check correct syntax for throw message
PowerShell requires the error message to be a string, enclosed in quotes. Both single and double quotes work, but single quotes are common.
Step 2: Analyze each option
throw -Message "File not found" is invalid (throw has no -Message parameter). throw(File not found) uses parentheses incorrectly. throw File not found misses quotes, causing syntax error. throw 'File not found' uses correct syntax.
Final Answer:
throw 'File not found' -> Option B
Quick Check:
throw 'message' syntax = D [OK]
Hint: Use quotes around error message with throw [OK]
Common Mistakes:
Omitting quotes around the error message
Using parentheses incorrectly with throw
Confusing throw syntax with function call
3. What will be the output of this PowerShell script?
try {
throw 'Error occurred'
Write-Output 'This will not run'
} catch {
Write-Output "Caught: $_"
}
medium
A. This will not run
B. Error occurred
C. No output
D. Caught: Error occurred
Solution
Step 1: Understand throw inside try block
The throw stops execution inside try and passes control to catch with the error message.
Step 2: Check catch block output
The catch block outputs "Caught: $_" where $_ contains the error message 'Error occurred'. So output is "Caught: Error occurred".
C. The catch block uses $error instead of $_ to get the error message.
D. Write-Output cannot be used inside catch.
Solution
Step 1: Review error variable usage in catch
Inside catch, the automatic variable $_ holds the current error. $error is an array of all errors, not the current one.
Step 2: Identify correct variable for error message
Using $error will output the entire error list, not the specific message. $_ is correct to get the thrown error message.
Final Answer:
The catch block uses $error instead of $_ to get the error message. -> Option C
Quick Check:
Use $_ in catch for error message = A [OK]
Hint: Use $_ in catch, not $error, for current error message [OK]
Common Mistakes:
Using $error instead of $_ in catch
Thinking throw needs parentheses
Believing throw can't be inside try
5. You want to stop a script if a variable $filePath is empty or null, showing the message "File path is required". Which code snippet correctly uses throw to do this?
hard
A. if (-not $filePath) { throw 'File path is required' }
B. if ($filePath -eq $null) throw File path is required
C. throw 'File path is required' if ($filePath -eq '')
D. if ($filePath) { throw 'File path is required' }
Solution
Step 1: Check condition for empty or null variable
Using -not $filePath correctly checks if $filePath is null, empty, or false.
Step 2: Verify throw syntax and condition placement
if (-not $filePath) { throw 'File path is required' } uses correct if statement and throw with quoted message. if ($filePath -eq $null) throw File path is required misses quotes and may cause syntax error. throw 'File path is required' if ($filePath -eq '') has wrong syntax order. if ($filePath) { throw 'File path is required' } throws when $filePath exists, which is wrong.
Final Answer:
if (-not $filePath) { throw 'File path is required' } -> Option A
Quick Check:
Use if (-not var) { throw 'msg' } = B [OK]
Hint: Use if (-not $var) { throw 'msg' } to check empty/null [OK]
Common Mistakes:
Forgetting quotes around error message
Using throw before if condition
Throwing error when variable is set
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.