(forward-sexp 1)
aが成功したか、エラーで終了したかを確認したいと思います。問題は、成功した場合でも nil を返すことです。このチェックを行う方法は?
3 に答える
8
scan-sexps
代わりに試してください。これは主力製品でforward-sexp
あり、意味のある値を返します。
もちろん、括弧のバランスが取れていないと、エラーが発生するため、ignore-errors
orが必要になりますcondition-case
。
于 2013-02-26T00:45:24.263 に答える
5
forward-sexp
ポイントを前方に移動できない場合、エラーを通知します。必要に応じて、これをキャッチできcondition-case
ます。これをテストするコマンドの例を次に示します。
(defun test-forward-sexp ()
"simple command testing (forward-sexp 1)"
(interactive)
(condition-case nil
(progn
(forward-sexp 1)
(message "succeeded"))
(error (message "failed"))))
エラー処理の詳細については、情報ページ エラーを処理するためのコードの記述 を参照してください。
于 2013-02-26T02:53:44.273 に答える
3
forward-sexp
エラーが発生しても nil を返しません (実際には何も返さず、代わりにエラーを通知します)。
于 2013-02-26T02:23:20.010 に答える