Dan*_*ing 3 ruby sinatra sequel
我有一个使用Sequel和Postgres的Sinatra应用程序......这是一个非常简单的模块,可以插入到数据库中.我想从插入中捕获任何错误并返回有用的消息.
我的代码如下:
begin
sql = DB["INSERT INTO table (id, firstname, lastname, ...) values (......)"]
ds.insert
rescue Sequel::Error
...
end
Run Code Online (Sandbox Code Playgroud)
如何捕获实际错误?我可以把"有一个错误"打印出来,但我想要更具体的东西 - 比如"名字是必需的","姓氏是必需的".
有人可以帮忙吗?
你可以使用最后一个异常对象魔术常量$!:
rescue Sequel::Error
p $!.message
end
Run Code Online (Sandbox Code Playgroud)
您还可以更改rescue块以将异常对象放入变量中:
rescue Sequel::Error => e
p e.message
end
Run Code Online (Sandbox Code Playgroud)
两者都会打印异常消息.
| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |