簡體   English   中英

異常的參數錯誤([string $ exception [,long $ code]])

[英]Wrong parameters for Exception([string $exception [, long $code ]])

一直盯着這個例外,並且沒有任何線索是怎么回事。

致命錯誤: Exception([string $exception [, long $code ]])參數錯誤Exception([string $exception [, long $code ]])

看起來非常簡單,Exception需要一條消息和一個可選代碼,但由於某些原因代碼不符合我的要求。 即使我刪除最后一個參數$e (用於保持堆棧跟蹤),也會彈出同樣的錯誤。

try {
    // ...
} catch (Exception $e) {
    throw new Exception('Client cannot be created', 0, $e);
}

只有當我省略代碼( 0 )和前一個異常( $e )時,才會正確拋出錯誤。

try {
    // ...
} catch (Exception $e) {
    throw new Exception('Client cannot be created');
}

雖然我從未使用過SOAP技術,所以只從SoapClient manual

exception選項是一個布爾值,用於定義soap錯誤是否拋出SoapFault類型的異常

soapFault語法是

SoapFault::SoapFault ( string $faultcode , 
                       string $faultstring [, 
                       string $faultactor [, 
                       string $detail [, 
                       string $faultname [, 
                       string $headerfault ]]]] );

所以我建議你查看手冊上的所有例子。 在這里我有一個例子

要獲取自定義Soap錯誤代碼,請使用catch $e->faultcode而不是$e->getCode

<?php 
try { 
    // ... 
} catch (SoapFault $e) { 
    echo $e->faultcode; 
} 
?>

再舉一個例子:

try { 
            $options = array( 
                'soap_version'=>SOAP_1_1, 
                'exceptions'=>true, 
                'trace'=>1, 
                'cache_wsdl'=>WSDL_CACHE_NONE 
            ); 
            $client = new SoapClient('http://www.example.com/end_point.wsdl', $options); 

        } catch (Exception $e) { 
            echo "<h2>Exception Error!</h2>"; 
            echo $e->getMessage(); 
        } 

希望能幫助到你。

暫無
暫無

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

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