我有一个Sinatra应用程序,利用Sequel和Postgres...这是一个插入到数据库中的非常简单的模块。我希望捕获插入中的任何错误,并返回有用的消息。
我的代码如下:
begin
sql = DB["INSERT INTO table (id, firstname, lastname, ...) values (......)"]
ds.insert
rescue Sequel::Error
...
end如何捕获实际的错误?我可以输入“那里有一个错误”,这是打印出来的,但我想要更具体的东西-比如“名字是必需的”,“姓氏是必需的”。
有人能帮帮忙吗?
发布于 2012-08-21 03:32:19
您可以使用最后一个异常对象魔术常量$!:
rescue Sequel::Error
p $!.message
end您还可以更改救援块,将异常对象放入变量中:
rescue Sequel::Error => e
p e.message
end这两种方法都会打印异常消息。
https://stackoverflow.com/questions/12043551
复制相似问题