title: What's the difference between a stack-trace and a back-trace?
body: <p>I really though I'd find an answer online, but I couldn't. Is there any difference at all? People say a 'backtrace' is generated upon something throwing an exception, while a stack trace is a list of method calls from the point when the application was started to the point where the exception was thrown. If we supposed a stack-trace as an array, then the last element would be the method where the exception was thrown. Would it be the reverse case for a back-trace? In a programming language like Ruby, for example, if we have:</p>
  
  <pre><code>begin
    raise 1
  rescue
    p $!.backtrace ; p caller(0) #=&gt; displays the back-trace, then the stack-trace
  end
  </code></pre>
  
  <p>They will output 2 different arrays, which suggests to me there's something fundamentally different about them.</p>