Clojure agent-error
2018-12-27 16:54 更新
返回在代理的异步操作期间抛出的异常(如果代理失败)。 如果代理不失败,则返回nil。
语法
以下是 agent-error 基本语法:
(agent-error agentname)
参数 − 'agentname'是代理错误功能应该设置为的代理。
返回值 − 返回在代理失败时在代理的异步操作期间抛出的异常。 如果代理不失败,则返回nil。
例
下面的程序显示了如何使用 agent-error 的示例。
(ns clojure.examples.example (:gen-class)) (defn Example [] (def my-date (agent(java.util.Date.))) (send my-date + 100) (await-for 100 my-date) (println (agent-error my-date))) (Example)
在上面的程序中,我们强制通过增加一个错误的日期变量的值来引发异常。 这将导致异常,并在'prinltn'语句的帮助下,将被发送到屏幕。
输出
以上示例输出以下结果:
Exception in thread "main" java.lang.RuntimeException: Agent is failed, needs start, compiling:(C:\Users\Administrator\demonew\src\demonew\main.clj:9:1) at clojure.lang.Compiler.load(Compiler.java:7239) at clojure.lang.Compiler.loadFile(Compiler.java:7165) at clojure.main$load_script.invoke(main.clj:275) at clojure.main$init_opt.invoke(main.clj:280) at clojure.main$initialize.invoke(main.clj:308) at clojure.main$null_opt.invoke(main.clj:343) at clojure.main$main.doInvoke(main.clj:421) at clojure.lang.RestFn.invoke(RestFn.java:421) at clojure.lang.Var.invoke(Var.java:383) at clojure.lang.AFn.applyToHelper(AFn.java:156) at clojure.lang.Var.applyTo(Var.java:700) at clojure.main.main(main.java:37) Caused by: java.lang.RuntimeException: Agent is failed, needs restart at clojure.lang.Util.runtimeException(Util.java:225) at clojure.lang.Agent.dispatch(Agent.java:238) at clojure.core$send_via.doInvoke(core.clj:1995) at clojure.lang.RestFn.invoke(RestFn.java:445) at clojure.lang.AFn.applyToHelper(AFn.java:160) at clojure.lang.RestFn.applyTo(RestFn.java:132) at clojure.core$apply.invoke(core.clj:636) at clojure.core$send.doInvoke(core.clj:2006) at clojure.lang.RestFn.invoke(RestFn.java:425) at clojure.core$await_for.doInvoke(core.clj:3177) at clojure.lang.RestFn.invoke(RestFn.java:423) at clojure.examples.example$Example.invoke(main.clj:6) at clojure.examples.example$eval12.invoke(main.clj:9) at clojure.lang.Compiler.eval(Compiler.java:6782) at clojure.lang.Compiler.load(Compiler.java:7227) ... 11 more
以上内容是否对您有帮助:
更多建议: