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
Use Result<void> DestroyApplication(Application&& app)
para encerrar o aplicativo e a simulação.
Outros aplicativos descobrem que a simulação é encerrada quando recebem ErrorCode::ShuttingDown
de chamadas para BeginUpdateWillBlock()
ou BeginUpdate()
. Quando um aplicativo recebe ErrorCode::ShuttingDown
, ele pode chamar Result<void> DestroyApplication(Application&& app)
para se encerrar.
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; } } }
Importante
Apenas chame Result<void> DestroyApplication(Application&& app)
após Api::Commit()
. Destruir um aplicativo durante uma atualização pode causar um comportamento indefinido.
Importante
Você deve chamar DestroyApplication()
antes do encerramento do programa para garantir que o aplicativo seja relatado como encerrado com êxito.
Deixar de chamar DestroyApplication()
quando o programa for encerrado fará com que o status seja considerado como FATAL
.