如何继续"出错"使用Fastlane

时间:2016-06-17 21:24:13

标签: automation fastlane

我正在尝试使用Fastlane自动部署到TestFlight中。我希望它继续"出错"即使其中一条车道出错了。

例如,如果我运行" doall"下面和" item1"错误,我希望它仍然运行" item2"和" item3"。

这是可能的,如果是这样的话怎么样?谢谢!

lane :item1 do
 # Do some stuff
end

lane :item2 do
 # Do some stuff
end

lane :item3 do
 # Do some stuff
end

lane :doall do
 item1 # This causes an error
 item2
 item3
end

error do |lane, exception|
 # Send error notification
end

2 个答案:

答案 0 :(得分:19)

您可以使用Ruby错误处理来执行此操作

lane :item1 do
 # Do some stuff
end

lane :item2 do
 # Do some stuff
end

lane :item3 do
 # Do some stuff
end

lane :doall do
 begin
   item1 # This causes an error
 rescue => ex
   UI.error(ex)
 end
 begin
   item2
 rescue => ex
   UI.error(ex)
 end
 begin
   item3
 rescue => ex
   UI.error(ex)
 end
end

error do |lane, exception|
 # Send error notification
end

这不是超级漂亮,但如果你想捕捉每个车道的错误,这是最好的方式。

答案 1 :(得分:1)

红宝石

begin
  do_something_that_may_cause_error
rescue => ex
  # handle error
ensure
  # do something that always run like clean up
end

迅捷

defer { 
  // do something that always run like clean up
}
do {
  try doSomethingThatMayCauseError()
} catch (error) {
  // handle error
}