首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Clojure/postgresql:当数据库中出现错误时,如何查看异常?

Clojure/postgresql:当数据库中出现错误时,如何查看异常?
EN

Stack Overflow用户
提问于 2011-08-16 14:23:01
回答 2查看 3K关注 0票数 19

在将clojure与postgresql结合使用时,每当我发出的语句以某种方式出现格式错误或被数据库本身拒绝时,我都会收到类似以下错误的信息:

代码语言:javascript
复制
java.sql.BatchUpdateException: 
  Batch entry 0 drop schema public cascade was aborted.  
  Call getNextException to see the cause.

我如何调用getNextException才能看到我做错了什么?我从哪里调用它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-16 15:56:53

下面的link on clojure/jdbc展示了如何使用Clojure/JDBC删除一个表。

它还说明了如何使用try catch块处理错误。

在try catch块中,您可以编写类似以下内容:

代码语言:javascript
复制
(.printStackTrace (.getCause e))
票数 8
EN

Stack Overflow用户

发布于 2013-02-07 07:01:59

我已经使用以下方法成功地删除/创建表,并在postgresql出错时获得准确的错误信息:

代码语言:javascript
复制
(defn drop-table [name]
    (sql/with-connection db
      (with-open [s (.createStatement (sql/connection))]
        (try
          (.addBatch s (str "drop table " name ))
          (seq (.executeBatch s))
          (catch Exception _)))))

(defn setup []
  (comment "TODO: create tables here"))

(defn -main []
  (try
  (print "Dropping table...") (flush)
  (drop-table "table_name")
  (print "Creating database structure...") (flush)
  (setup)
  (println " done")
  (catch Exception e (.getNextException e))))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7074327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档