我有一个使用 Sequel 和 Postgres 的 Sinatra 应用程序...这是一个非常简单的模块,可以插入到数据库中。我想从插入中捕获任何错误并返回有用的消息。
我的代码如下:
begin
sql = DB["INSERT INTO table (id, firstname, lastname, ...) values (......)"]
ds.insert
rescue Sequel::Error
...
end
如何捕获实际错误?我可以输入“出现错误”并打印出来,但我想要更具体的内容 - 例如“需要名字”、“需要姓氏”。
有人可以帮忙吗?
最佳答案
你可以使用最后一个异常对象魔术常量$!
:
rescue Sequel::Error
p $!.message
end
您还可以更改救援 block 以将异常对象放入变量中:
rescue Sequel::Error => e
p e.message
end
两者都会打印异常消息。
关于ruby - 捕获 Sequel::Error 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043551/