首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有效地使用try()删除文件

有效地使用try()删除文件
EN

Stack Overflow用户
提问于 2015-02-07 08:06:23
回答 1查看 468关注 0票数 0

我正在为一个rails应用程序编写一个脚本,该应用程序通过dropbox-api gem管理Dropbox中的文件(在术语上是松散的)。无论如何,在采取一组操作之前,我正在尝试删除一个文件(如果它存在的话)。

若要删除该文件,请使用以下内容:

代码语言:javascript
复制
Dropbox::API::Client#destroy

Removes the file specified by path

Returns a Dropbox::API::File object of the deleted file

client.destroy 'file.txt' # => #<Dropbox::API::File>

客户在哪里

代码语言:javascript
复制
client = Dropbox::API::Client.new(:token  => 'xxxxxxxxxxx', :secret => 'yyyyyyyyyyy')

简单地删除该文件并不是一个问题;我希望脚本在文件不存在的情况下不要抛出错误。我以为这可能是try()的一份工作,但我还没能让它开始工作。try()是否适合此应用程序?如果没有,是否有一个好的选择?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-07 08:15:51

您需要在begin和write块中编写代码。如下所示:

代码语言:javascript
复制
begin
 #code here which may throw error
rescue
 #code here to rescue if it throws error
 puts "File not found"
end

这是一个例子。你可以这样做。希望这能有所帮助。

编辑:

当您需要在调用任何对象的属性时避免任何异常时,就会使用try方法。也许我对这句话不太清楚,我会举例说明。假设有users,您不确定它们的属性。所以你能做的是:

代码语言:javascript
复制
@user.try(:name)

因此,如果名称存在,那么它将返回值,否则,如果它不存在,它将不会抛出和错误,而是返回nil

当您想要处理任何异常时,begin rescue块非常有用。和上面的代码一样,您的代码可能会抛出一个错误,但是您需要处理错误,它不应该破坏功能,所以您可以使用它。希望我对此很清楚。

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

https://stackoverflow.com/questions/28379934

复制
相关文章

相似问题

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