[Gauche] finallyマクロ
finallyマクロ
以下の通りです。finallyの直後の一連の式は、例外が発生しても、しなくても、必ず実行され(ると思い)ます。
(define-syntax finally (syntax-rules () ((finally (expr1 ...) expr2 ...) (guard (e (else expr1 ... (raise e))) expr2 ... expr1 ...)))) ;; baz ;; quux ;; foo ;; bar (finally ((print "foo") (print "bar")) (print "baz") (print "quux")) ;; baz ;; foo ;; bar ;; gosh: "error": quux (finally ((print "foo") (print "bar")) (print "baz") (error "quux"))
備考
- 作者: Kahuaプロジェクト,川合史朗
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/03/14
- メディア: 大型本
- 購入: 22人 クリック: 713回
- この商品を含むブログ (272件) を見る