title: What's the difference between the "throw" keyword and "Write-Error -ErrorAction Stop"?
body: <p>I'm having trouble googling up a clear answer on this. Are there any practical differences between, for example, <code>throw 'temper tantrum'</code> and <code>Write-Error 'temper tantrum' -ErrorAction Stop</code>? </p>
  
  <p>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 <em>practical</em>. Do they have any different effects? Are there reasons to prefer one over the other in particular situations? </p>