Version: 4.1
9 Protecting Graphics Operations
To guarantee the proper closing of viewports in cases of errors, especially when a program manages several viewports simultaneously, a programmer should use dynamic-wind:
(let ([w (open-viewport "hello" 100 100)])  | 
; what we want to happen first: nothing  | 
; the main program (errors constrained to this piece)  | 
(lambda () (draw-pixel 13)) ; an error  | 
; what we would like to happen, whether the main program  | 
; finishes normally or not  | 
(lambda () (close-viewport w))))  |