I'm having trouble googling up a clear answer on this. Are there any practical differences between, for example, throw 'temper tantrum'
and Write-Error 'temper tantrum' -ErrorAction Stop
?
They both generate terminating errors and set $? to False. I can see that there are differences in the CategoryInfo and FullyQualifiedErrorId. The operative word is practical. Do they have any different effects? Are there reasons to prefer one over the other in particular situations?