簡體   English   中英

php-合並try / catch異常

[英]php - merge try/catch exceptions

我正在嘗試將兩個異常對象合並為一個。 任何想法如何工作?

這里我想到了一些偽代碼:

$objects = array();

try {
  // do something
  throw new Exception('Error One');
} catch(Exception $e) {
  $objects[] = $e;
}


try {
  // do something
  throw new Exception('Error Two');
} catch(Exception $e) {
  $objects[] = $e;
}

if(!empty($Objetcs)) {
  // now merge objects
  $new = merge($objects);

  throw $new;
}

在此先感謝您的幫助!

您正在使用相同的變量$objects ,因此不需要合並。 如果要合並兩個不同的數組變量,可以使用array_merge()函數。

您可能要使用array_push

$myErrors = array();
try { throw new Exception('Error Two'); } catch( Exception $e ) {
    array_push($stack, $e);
}

然后簡單地檢查數組長度,如果它大於零,則將錯誤消息串聯起來,然后將它們作為一個大塊重新拋出:

$l = count( $myErrors );
$long_txt = '';
if( $l > 0 ) { for( $i = 0; $i < $l; $i++) {
    if( $i > 0 ) { $long_txt .= ', '; } // add separators
    $long_txt .= $myErrors[$i]->getMessage();
}}
throw new Exception( $long_txt );

暫無
暫無

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

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