Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


Aprender el manejo de errores con la biblioteca es esencial para comenzar. Si decide implementar esta verificación directamente, de inmediato detecta que el error viene de junto con otra información.
El manejo de errores con la biblioteca PHP desde el servicio web es realizado con la ayuda de las excepciones.
La base: Los tratamientos relacionados con el servicio web de PrestaShop deben estar dentro de un bloque try que a su vez debe ser seguido por un bloque catch para recuperar los errores y, si es posible, para capturarlos.
Ilustración:
try
{
<span style="color: #0070c0">// Execution (stops and goes in the catch block if an error occurs)</span>
}
catch
{
<span style="color: #0070c0">// Error handling (tries to catch the error or the error display)</span>
}







Ejemplo:
try{
<span style="color: #0070c0">// creating web service access</span> $webService = new PrestaShopWebservice(
'http://maboutique.com/',
'ZR92FNY5UFRERNI3O9Z5QDHWKTP3YIIT',
false);
<span style="color: #0070c0">// call to retrieve all clients</span>
$xml = $webService->get(array('resource' => 'customers'));
}
catch (PrestaShopWebserviceException $ex){ $trace = $ex->getTrace(); <span style="color: #4f81bd">// Retrieve all information on the error</span>
$errorCode = $trace[enEN:0][enEN:'args'][enEN:0]; <span style="color: #4f81bd">// Retrieve the error code</span>
if ($errorCode == 401)
echo 'Bad auth key'; else
echo 'Other error : <br />'.$ex->getMessage();
<span style="color: #4f81bd">// Shows a message related to the error</span>
}

















Esto significa que cada creación o utilización de la biblioteca debe estar ubicado dentro de un bloque "try". El bloque "catch" puede manejar el error si se produce durante la ejecución del bloque try.
Ahora veremos cómo enumerar a todos los clientes a través del servicio web y luego veremos los cuatro métodos CRUD.

  • No labels