Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Finalizar una simulación
Use Result<void> DestroyApplication(Application&& app)
para finalizar la aplicación y la simulación.
Otras aplicaciones descubren que la simulación se cierra cuando reciben llamadas ErrorCode::ShuttingDown
a BeginUpdateWillBlock()
o BeginUpdate()
. Cuando una aplicación recibe ErrorCode::ShuttingDown
, puede llamar a Result<void> DestroyApplication(Application&& app)
para que se cierre automáticamente.
ejemplo Ejemplo
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
Solo llama a Result<void> DestroyApplication(Application&& app)
después de Api::Commit()
. Destruir una aplicación durante una actualización puede provocar un comportamiento indefinido.
importante
Debe llamar a DestroyApplication()
antes de que se cierre el programa para asegurarse de que la aplicación informa que se ha cerrado correctamente.
Si no llama a DestroyApplication()
cuando el programa se cierra, el estado se considerará como FATAL
.