簡體   English   中英

我該如何處理此類異常(在《學說》中)

[英]How can I handle this kind of exceptions (in Doctrine)

您能告訴我如何處理此類異常:

致命錯誤:消息“ PDO連接錯誤:SQLSTATE [HY000] [2013]”未捕獲的異常“ Doctrine_Connection_Exception”,在“讀取初始通信數據包”時與MySQL服務器的連接丟失,系統錯誤:110 ...

在查詢過程中與MySQL的連接丟失時會發生這種情況。 我需要處理此異常,因此我可以顯示500錯誤頁面,以便爬網程序不緩存頁面,並將用戶重定向到適當的“重試”頁面。

PS:我有很多代碼,因此我無法通過所有代碼放入try / catch塊。 我需要一些簡單而有效的方法。

我需要簡單但有效的方法

嘗試/捕獲將是IMO的唯一選擇。 如果您需要在許多地方添加try / catch子句,則可以將此特定的代碼段移至單獨的函數中。

例如,如果此行引發執行

$ con-> query($ your_DQL_query)//這里發生了一些結果

將其移動到類似

function goodQuery($sql) {
  try {
    $con->query($sql);
  } catch (Doctrine_Connection_Exception $dce) {
    //do something
  }
}

您仍然需要用對函數goodQuery(...)的調用來替換所有“拋出”方法,但這將使以后的開發變得更加容易,因為異常是在一個地方處理的。

您不能使用“教義”來處理它……您可以使用編碼語言來處理。 如果您使用的是PHP:

try {
  SomeClass::do_something(parameter);
} catch(DoctrineException $e) {
  show_error($e->getMessage());
}

這顯然是sudo代碼,但它給了您一個主意...您可能會顯示一般錯誤,也可能是特定的並顯示教義的消息...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM