首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获Sequel::Error异常

捕获Sequel::Error异常
EN

Stack Overflow用户
提问于 2012-08-21 03:05:06
回答 1查看 2.1K关注 0票数 3

我有一个Sinatra应用程序,利用Sequel和Postgres...这是一个插入到数据库中的非常简单的模块。我希望捕获插入中的任何错误,并返回有用的消息。

我的代码如下:

代码语言:javascript
复制
begin
   sql = DB["INSERT INTO table (id, firstname, lastname, ...) values (......)"]
   ds.insert
rescue Sequel::Error
   ...
end

如何捕获实际的错误?我可以输入“那里有一个错误”,这是打印出来的,但我想要更具体的东西-比如“名字是必需的”,“姓氏是必需的”。

有人能帮帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-21 03:32:19

您可以使用最后一个异常对象魔术常量$!

代码语言:javascript
复制
rescue Sequel::Error
  p $!.message
end

您还可以更改救援块,将异常对象放入变量中:

代码语言:javascript
复制
rescue Sequel::Error => e
  p e.message
end

这两种方法都会打印异常消息。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12043551

复制
相关文章

相似问题

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