As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Encerrar uma simulação
UseResult<void> DestroyApplication(Application&& app)
para encerrar o aplicativo e a simulação.
Outros aplicativos descobrem que a simulação está sendo desligada quandoErrorCode::ShuttingDown
recebem chamadas paraBeginUpdateWillBlock()
ouBeginUpdate()
. Quando um aplicativo recebeErrorCode::ShuttingDown
, ele pode ligarResult<void> DestroyApplication(Application&& app)
para se encerrar sozinho.
exemplo Exemplo
Result<void> AppDriver::EncounteredAppError(Application&& application) noexcept { const ErrorCode errorCode = WEAVERRUNTIME_EXPECT_ERROR(runAppResult); switch (errorCode) { case ErrorCode::ShuttingDown: { // insert custom shutdown process here. WEAVERRUNTIME_TRY(Api::DestroyApplication(std::move(application))); return Success(); } default: { OnAppError(errorCode); return errorCode; } } }
Só ligueResult<void> DestroyApplication(Application&& app)
depoisApi::Commit()
. Destruir um aplicativo durante uma atualização pode causar um comportamento indefinido.
Você deve ligarDestroyApplication()
antes do encerramento do programa para se certificar de que o aplicativo foi encerrado com êxito.
A falha em ligarDestroyApplication()
quando o programa for encerrado fará com que o status seja considerado comoFATAL
.