我正在尝试使用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
答案 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
}