为wmi执行例外_称之为例外?
為wmi執行例外
雖然這是一個有關測試和Wiremock的Java示例,但它涉及一個更普遍的問題。
我們正在嘗試重試Wiremock的verify方法,該方法可能會在我們要檢查的端點被命中之前由測試調用。 在這種情況下,我們希望在幾秒鐘后循環嘗試一次,直到超時為止。 有趣的是,Wiremock客戶端沒有提供這樣的方法,但是,很容易創建它們。
引發的對象類型稱為VerificationException因此我們編寫了以下內容:
for ( int i= 0 ; i<maxRetries; i++) { try { verify... // try to verify return ; // verify ok } catch (Exception e) { LOG.info( "Oooh, it went wrong on try " + i); "Oooh, it went wrong on try " + i); // let the loop run it again after a sleep sleep( 1000 ); } }沒用 我們的捕獲塊沒有被擊中。
深入研究并始終閱讀您使用的開源庫的源代碼,似乎VerificationException派生自AssertionError 。
Error不是Exception 。 那么,為什么VerificationException不稱為VerificationError呢? 我們的catch塊需要捕獲Error或Throwable才能工作。 現在可以做什么,并且可以工作。
什么黃?
這是違反最小驚訝原則的情況。 因為拋出的對象稱為異常 ,所以沒有人會想到這是其他任何東西。 我們需要編寫一個失敗的異常捕獲器,對其進行調試,并在源代碼中深入讀取幾個類以查找此錯誤。 期望異常是異常是我們的錯誤嗎?
您可以輕松地解釋為什么他們選擇了具有誤導性的名稱,但是如果您必須解釋一些違反規范的名稱,那么最好不付出任何努力就做出解釋。
翻譯自: https://www.javacodegeeks.com/2020/03/call-that-an-exception.html
為wmi執行例外
總結
以上是生活随笔為你收集整理的为wmi执行例外_称之为例外?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps怎么抠图保留背景(ps怎么抠图保留背
- 下一篇: 安卓桌面修改器(安卓桌面修改)