我有一个使用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)
如何捕获实际错误?我可以把"有一个错误"打印出来,但我想要更具体的东西 - 比如"名字是必需的","姓氏是必需的".
有人可以帮忙吗?
希望你能帮助我.代码是Rubymotion,但我很确定这是一个iOS问题.代码很简单,希望Rubymotion不会妨碍答案.我可以阅读Obj-C,所以如果你只能用Obj-C回答,我对此很好.
我有一个UIImage对象.我正试着弄它的大小.当我执行以下操作时:
image = info.objectForKey(UIImagePickerControllerOriginalImage)
@image = UIImage.alloc.initWithCIImage(image)
puts @image.to_s
puts @image.size
puts @image.to_s
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
#<UIImage:0x9513710>
NSInvalidArgumentException: -[UIImage extent]: unrecognized selector sent to instance 0x10fb7410 (RuntimeError)
#<UIImage:0x9513710>
Run Code Online (Sandbox Code Playgroud)
我已经读过,当你得到范围错误时,它往往意味着对象已经释放并且不再在内存中但是如果我注释掉.size行,第3行仍然运行意味着它还没有被释放.
有任何想法吗?