call-process处理异常?


#1

call-process的时候,如果你们需要处理异常,具体是怎么做的?

看文档的意思就是stdout插入到一个buffer里然后处理,有其他的办法吗?


#2

shell 没有异常的概念吧

你可以加一个层封装出错的命令


#3

一般需要判断下返回值

(with-temp-buffer
  (let ((exit (call-process "md5" nil t nil "a-non-exist-file")))
    (if (zerop exit)
        (buffer-string)
      (error "%s" (buffer-string)))))