2

MIT スキームで例外を発生させて処理するにはどうすればよいですか?

【うまくいかない】みたいな

((< val 0) (raise "-ve value") )
4

2 に答える 2

3

ドキュメントには答えがありますが、コード サンプルはありません。

(define (handler x)
    (display "Handling Error: ")(display x)(newline)
    (restart 1))

ここでは、エラー (ドキュメントでは「条件」と呼ばれるもの) を表示するだけで、何もしていません。

この関数ですべての条件を処理するには、次のようにします。

(bind-default-condition-handler '() handler)

または、1 つのコード ブロックを次のようにラップすることもできます。

(bind-condition-handler '() handler (3 4))
于 2013-08-09T03:32:30.537 に答える