title: How does Smalltalk handle program error?
body: <p>I'm a newbie on Smalltalk. I have read some articles and documents about it and I am surprised about its completeness of concepts. And it offers some kind of live debugging.</p>
  
  <p>Anyway, for program errors, the error means the program logic is wrong, and all accumulated mutations by the program are all invalid. To guarantee integrity, the whole program should be restarted from some point, and the whole program state should be rollback.</p>
  
  <p>How does Smalltalk handle this? (maybe this question can be applied to all dynamic REPL languages...) </p>