翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
シミュレーションを終了する
Result<void> DestroyApplication(Application&& app)
を使用して、アプリケーションとシミュレーションを終了します。
他のアプリケーションは、BeginUpdateWillBlock()
または BeginUpdate()
への呼び出しから ErrorCode::ShuttingDown
を受信すると、シミュレーションがシャットダウン中であることを認識します。アプリケーションが ErrorCode::ShuttingDown
を受信すると、Result<void> DestroyApplication(Application&& app)
呼び出しを行って自動的に終了できます。
例
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; } } }
重要
Api::Commit()
の後にのみ Result<void> DestroyApplication(Application&& app)
を呼び出しできます。更新中にアプリケーションを破棄すると、未定義の動作が発生する可能性があります。
重要
プログラムが終了する前に DestroyApplication()
を呼び出して、アプリケーションの正常終了レポートを確認する必要があります。
プログラムの終了時に DestroyApplication()
呼び出しに失敗すると、ステータスは FATAL
とみなされます。