Bird
Raised Fist0
PowerShellscripting~10 mins

ErrorAction parameter in PowerShell - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - ErrorAction parameter
Run Command
↓
Error Occurs?
No→Continue Normal Execution
Yes↓
Check ErrorAction Value
↓
SilentlyContinue
↓
Ignore
↓
Next Step Based on Action
When a command runs, if an error happens, PowerShell checks the ErrorAction parameter to decide what to do next.
Execution Sample
PowerShell
Get-Item 'C:\no_such_file.txt' -ErrorAction SilentlyContinue
Write-Output 'Script continues'
Try to get a file that does not exist, but ignore the error and continue running the script.
Execution Table
StepCommandError Occurs?ErrorActionAction TakenOutput
1Get-Item 'C:\no_such_file.txt' -ErrorAction SilentlyContinueYesSilentlyContinueIgnore error, no message
2Write-Output 'Script continues'NoN/APrint messageScript continues
3End of scriptN/AN/AScript ends normally
💡 Script ends normally after ignoring the error due to SilentlyContinue
Variable Tracker
VariableStartAfter Step 1After Step 2Final
ErrorNoneError occurred but ignoredNoneNone
OutputNoneNoneScript continuesScript continues
Key Moments - 2 Insights
Why does the script continue even though Get-Item fails?
Because ErrorAction is set to SilentlyContinue, the error is ignored and no message is shown, as seen in execution_table step 1.
What happens if ErrorAction is set to Stop?
The script would stop immediately on error, not reaching step 2, unlike the SilentlyContinue case in the table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the output after step 1?
ANo output, error ignored
BError message shown
CScript stops
DOutput 'Script continues'
💡 Hint
Check the 'Output' column in row for step 1 in execution_table
At which step does the script print 'Script continues'?
AStep 1
BStep 3
CStep 2
DNever
💡 Hint
Look at the 'Output' column in execution_table for step 2
If ErrorAction was changed to Stop, what would happen at step 2?
AStep 2 runs normally
BStep 2 is skipped because script stops
CError is ignored silently
DScript asks user what to do
💡 Hint
Refer to key_moments explanation about ErrorAction Stop behavior
Concept Snapshot
ErrorAction parameter controls what PowerShell does when a command errors.
Common values:
- SilentlyContinue: ignore error, no message
- Continue: show error, keep running
- Stop: stop script immediately
- Inquire: ask user what to do
Use it to control error handling behavior in scripts.
Full Transcript
The ErrorAction parameter in PowerShell tells the script what to do if a command causes an error. When a command runs, PowerShell checks if an error happens. If no error, the script continues normally. If there is an error, PowerShell looks at the ErrorAction value. If it is SilentlyContinue, the error is ignored and no message shows. The script keeps running. If it is Continue, the error message shows but the script keeps running. If it is Stop, the script stops immediately. If it is Inquire, PowerShell asks the user what to do. In the example, Get-Item tries to get a file that does not exist. Because ErrorAction is SilentlyContinue, the error is ignored and the script prints 'Script continues'. This shows how ErrorAction controls error handling in scripts.

Practice

(1/5)
1. What does the -ErrorAction SilentlyContinue parameter do in a PowerShell command?
easy
A. It displays error messages and pauses the script.
B. It stops the script immediately when an error occurs.
C. It suppresses error messages and continues running the script.
D. It logs errors to a file but shows no messages.

Solution

  1. Step 1: Understand the SilentlyContinue behavior

    The SilentlyContinue value tells PowerShell to hide error messages and keep running the script without interruption.
  2. Step 2: Compare with other ErrorAction values

    Unlike Stop, which halts the script, SilentlyContinue ignores errors silently, so the script continues smoothly.
  3. Final Answer:

    It suppresses error messages and continues running the script. -> Option C
  4. Quick Check:

    SilentlyContinue = suppress errors and continue [OK]
Hint: SilentlyContinue hides errors and keeps script running [OK]
Common Mistakes:
  • Confusing SilentlyContinue with Stop which halts execution
  • Thinking errors are logged automatically
  • Assuming errors still display on screen
2. Which of the following is the correct syntax to stop a PowerShell script on error using the ErrorAction parameter?
easy
A. Get-Item 'C:\file.txt' -ErrorAction Stop
B. Get-Item 'C:\file.txt' -ErrorAction Ignore
C. Get-Item 'C:\file.txt' -ErrorAction SilentlyContinue
D. Get-Item 'C:\file.txt' -ErrorAction Continue

Solution

  1. Step 1: Identify the ErrorAction value that stops script

    The Stop value causes the script to halt immediately when an error occurs.
  2. Step 2: Verify syntax correctness

    The syntax uses -ErrorAction Stop correctly after the command.
  3. Final Answer:

    Get-Item 'C:\file.txt' -ErrorAction Stop -> Option A
  4. Quick Check:

    ErrorAction Stop halts script on error [OK]
Hint: Use -ErrorAction Stop to halt script on errors [OK]
Common Mistakes:
  • Using Continue which only shows errors but continues
  • Using SilentlyContinue which hides errors but continues
  • Using non-existent value Ignore
3. What will be the output of this PowerShell command?
Get-Item 'C:\nonexistentfile.txt' -ErrorAction SilentlyContinue; Write-Output 'Done'
medium
A. Only 'Done' is printed, no error message
B. Error message about missing file, then 'Done'
C. Script stops with error, no output
D. Nothing is printed

Solution

  1. Step 1: Analyze Get-Item with SilentlyContinue

    The command tries to get a missing file but errors are suppressed silently.
  2. Step 2: Check what Write-Output does after

    Since error is suppressed, the script continues and prints 'Done'.
  3. Final Answer:

    Only 'Done' is printed, no error message -> Option A
  4. Quick Check:

    SilentlyContinue hides errors, script continues [OK]
Hint: SilentlyContinue hides errors, next commands run [OK]
Common Mistakes:
  • Expecting error message to show
  • Thinking script stops on error
  • Assuming no output at all
4. You wrote this script:
Get-Content 'C:\missing.txt' -ErrorAction Stop
Write-Output 'File read successfully'

But the script does not print 'File read successfully' when the file is missing. What is the fix?
medium
A. Change -ErrorAction Stop to -ErrorAction SilentlyContinue
B. Add try/catch block around Get-Content
C. Remove the Write-Output line
D. Change -ErrorAction Stop to -ErrorAction Continue

Solution

  1. Step 1: Understand Stop behavior

    -ErrorAction Stop halts script on error, so Write-Output is not reached if file missing.
  2. Step 2: Use try/catch to handle error gracefully

    Wrapping Get-Content in try/catch lets you catch the error and continue script safely.
  3. Final Answer:

    Add try/catch block around Get-Content -> Option B
  4. Quick Check:

    Stop halts script; try/catch handles errors [OK]
Hint: Use try/catch with Stop to handle errors safely [OK]
Common Mistakes:
  • Changing Stop to SilentlyContinue hides errors but may ignore important failures
  • Removing Write-Output loses useful output
  • Using Continue still shows errors but doesn't stop script
5. You want to run a script that tries to delete multiple files. If a file is missing, you want to skip it silently and continue deleting others. But if a file exists but cannot be deleted due to permission issues, the script should stop immediately. Which ErrorAction usage fits this requirement?
hard
A. Use Remove-Item -ErrorAction Continue and handle errors in catch block
B. Use Remove-Item -ErrorAction Stop for all files
C. Use Remove-Item -ErrorAction SilentlyContinue for all files
D. Use Remove-Item -ErrorAction SilentlyContinue and check error type manually

Solution

  1. Step 1: Understand SilentlyContinue hides all errors

    Using SilentlyContinue alone skips errors silently, so permission errors won't stop script.
  2. Step 2: Combine SilentlyContinue with manual error check

    Run Remove-Item with SilentlyContinue, then check error details to stop on permission errors but ignore missing files.
  3. Final Answer:

    Use Remove-Item -ErrorAction SilentlyContinue and check error type manually -> Option D
  4. Quick Check:

    SilentlyContinue + manual check = skip missing, stop permission errors [OK]
Hint: SilentlyContinue plus manual error check handles complex cases [OK]
Common Mistakes:
  • Using Stop stops on all errors including missing files
  • Using Continue shows errors but does not stop script
  • Ignoring error type and blindly continuing
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard