幾種捕獲ClientDataSet.ApplyUpdates和SocketConnection異常的方法比較
問題:如何捕獲ClientDataSet.ApplyUpdates的錯誤,不用ReconcileError呢?
//如果用這個錯誤處理,我的事務回滾卻不知放在何處才妙,並且我不是想用這個錯誤處理
解答一:
//---------------------------------------------------------------
//據我所知,只能用ReconcileError 可以用下面的方法判斷是否錯誤
//---------------------------------------------------------------
解答二:
//---------------------------------------------------------------
在DataSetProvider的onUpdateError
然後就可以在客戶端做如下處理:
//----------------------------------------------------------------
解答三:
其實真正的捕獲ClientDataSet.ApplyUpdate異常的方法應該是在Apllication的異常中捕獲並處理它。因為 ClientDataSet丟擲的異常為執行緒(程式?)異常,在ClientDataSet的ApplyUpdate中用 try...except...end;是無法捕獲的。
具體方法為:在公共單元如DataModule中放置一個ApplicationEvent件,在該控制元件的OnException事件中捕獲異常,該窗體應在所有有可能產生ApplyUpdate或Connection異常的窗體之前建立。
相關文章
- 捕獲 React 異常React
- 異常及捕獲
- python異常捕獲Python
- Task異常捕獲的方式
- android 異常捕獲-UncaughtExceptionHandlerAndroidException
- 分割陣列的幾種方法比較陣列
- Auth 授權的異常捕獲
- python中如何捕獲異常Python
- pb呼叫ole異常捕獲
- 記錄Javascript 異常捕獲JavaScript
- wpf 捕獲全域性異常
- 幾種排序的比較排序
- SpringBoot之全域性捕獲異常Spring Boot
- 10. 異常捕獲、生成式
- JS 使用try catch捕獲異常JS
- 前端JavaScript 常見的報錯及異常捕獲前端JavaScript
- 儲存過程——異常捕獲&列印異常資訊儲存過程
- Flutter異常捕獲和Crash崩潰日誌收集Flutter
- DRF之異常捕獲原始碼分析原始碼
- 捕獲不到異常嘗試除以0
- 在 C++ 中捕獲 Python 異常C++Python
- spring-boot 統一異常捕獲Springboot
- Java捕獲非檢查異常----UncaughtExceptionHandler的使用JavaException
- 【求助】如何捕獲 pytest parametrize 中的 timeout 異常
- 前端開發中的Error以及異常捕獲前端Error
- 異常處理機制(二)之異常處理與捕獲
- 談談前端異常捕獲與上報前端
- laravel7.x 該怎麼自己捕獲ModelNotFoundException 這種異常呢?LaravelException
- python之異常捕獲&清除的列印報錯行Python
- 異常-Throwable的幾個常見方法
- 2023版:深度比較幾種.NET Excel匯出庫的效能差異Excel
- 【Spring Cloud】Feign呼叫異常觸發降級後如何捕獲異常SpringCloud
- Cesium 比較常用的幾個方法
- 幾種中文字型的比較
- 【MyBatis】幾種批量插入效率的比較MyBatis
- Auto.js Pro 資料獲取 與 異常捕獲JS
- C#學習筆記---異常捕獲和變數運算子C#筆記變數
- 這幾種Java異常處理方法,你會嗎?Java
- ETL 幾種工具的比較(Kettle,Talend,Informatica )ORM