Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengakhiri simulasi
Gunakan Result<void> DestroyApplication(Application&& app)
untuk menghentikan aplikasi dan simulasi.
Aplikasi lain mengetahui bahwa simulasi dimatikan ketika mereka menerima ErrorCode::ShuttingDown
dari panggilan mereka ke BeginUpdateWillBlock()
atau. BeginUpdate()
Ketika sebuah aplikasi menerimaErrorCode::ShuttingDown
, ia dapat memanggil Result<void> DestroyApplication(Application&& app)
untuk mengakhiri dirinya sendiri.
contoh Contoh
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; } } }
penting
Hanya menelepon Result<void> DestroyApplication(Application&& app)
setelahnyaApi::Commit()
. Menghancurkan aplikasi selama pembaruan dapat menyebabkan perilaku tidak terdefinisi.
penting
Anda harus menelepon DestroyApplication()
sebelum program keluar untuk memastikan bahwa laporan aplikasi berhasil dihentikan.
Kegagalan untuk menelepon DestroyApplication()
ketika program keluar akan menyebabkan status dianggap sebagaiFATAL
.