I poked around a bit more, and found a method to handle these kind of situations: #rearmHandlerDuring: You could rewrite the exception handling block to something like this: [ :ex | ex tag == #getVMMaker ifTrue: [ ex resume: #caught ] ifFalse: [ ex rearmHandlerDuring: [ ex pass ] ] ] and get five #cought on the Transcript