Я создал сервис Zend AMF с помощью инструментов FlashBuilder.Я хотел изменить один из этих автоматически созданных методов, чтобы вызвать исключение, чтобы увидеть поведение.Вместо того, чтобы исключение было сериализовано обратно в мое приложение Flex, оно дает мне следующее:
[RPC Fault faultString = "Канал отключен" faultCode = "Client.Error.DeliveryInDoubt" faultDetail = "Канал отключен до подтвержденияполучено "] в mx.rpc :: AbstractInvoker / http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:345] в mx.rpc :: Responder / fault () [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ Responder.as: 68] в mx.rpc :: AsyncRequest / fault () [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ AsyncRequest.as: 113] в NetConnectionMessageResponder / channelDisconnectHandler () [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channel \ NetConnectionChannel.as: 684] на flash.events::EventDispatcher/dispatchEventFunction () на flash.events::EventDispatcher/dispatchEvent ()в mx.messaging :: Channel / disconnectSuccess () [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ Channel.as: 1214] в mx.messaging.channels :: NetConnectionChannel / internalDisconnect() [E: \ DEV \ 4.0.0 \ рамки \ Projects \ RPC \ SRC \ тх \ сообщениями \ каналы \ NetConnectionChannel.as:175] в mx.messaging.channels :: AMFChannel / internalDisconnect () [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channel \ AMFChannel.as: 355] вmx.messaging.channels :: AMFChannel / statusHandler () [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channel \ AMFChannel.as: 445]
каналdisconnects ...
[RPC Fault faultString = "Канал отключен" faultCode = "Client.Error.DeliveryInDoubt" faultDetail = "Канал отключен до получения подтверждения"]
Это код:
открытая функция getAllUser () {
$stmt = mysqli_prepare($this->connection, "SELECT * FROM $this->tablename");
$this->throwExceptionOnError();
mysqli_stmt_execute($stmt);
$this->throwExceptionOnError();
$rows = array();
mysqli_stmt_bind_result($stmt, $row->id, $row->user_group_id, $row->username, $row->password, $row->active, $row->activation_key, $row->timezone, $row->created_on, $row->modified_on);
while (mysqli_stmt_fetch($stmt)) {
$row->created_on = new DateTime($row->created_on);
$row->modified_on = new DateTime($row->modified_on);
$rows[] = $row;
$row = new stdClass();
mysqli_stmt_bind_result($stmt, $row->id, $row->user_group_id, $row->username, $row->password, $row->active, $row->activation_key, $row->timezone, $row->created_on, $row->modified_on);
}
mysqli_stmt_free_result($stmt);
mysqli_close($this->connection);
$errorCode = 1;
throw(new Exception('the error message you want', $errorCode));
return $rows;
}
Обратите внимание на оператор throw:
throw (new Exception ('theнужное сообщение об ошибке ', $ errorCode));
Я действительно этого не ожидал.Как я могу заставить его работать?
Спасибо заранее!