如何继续 "on error" 使用 Fastlane
How to continue "on error" using Fastlane
我正在尝试使用 Fastlane 自动部署到 TestFlight。我希望它继续 "on error" 即使其中一条车道出错。
例如,如果我下面运行 "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
您可以使用 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
它不是很漂亮,但如果你想为每条泳道捕捉错误,那是最好的方法。
Ruby
begin
do_something_that_may_cause_error
rescue => ex
# handle error
ensure
# do something that always run like clean up
end
Swift
defer {
// do something that always run like clean up
}
do {
try doSomethingThatMayCauseError()
} catch (error) {
// handle error
}
我正在尝试使用 Fastlane 自动部署到 TestFlight。我希望它继续 "on error" 即使其中一条车道出错。
例如,如果我下面运行 "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
您可以使用 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
它不是很漂亮,但如果你想为每条泳道捕捉错误,那是最好的方法。
Ruby
begin
do_something_that_may_cause_error
rescue => ex
# handle error
ensure
# do something that always run like clean up
end
Swift
defer {
// do something that always run like clean up
}
do {
try doSomethingThatMayCauseError()
} catch (error) {
// handle error
}