Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Ocupar Fatal Error como Condición

Estas en el tema de Ocupar Fatal Error como Condición en el foro de PHP en Foros del Web. Estimados, recurro a ustedes ya en la web no eh podido encontrar respuestas a como puedo manejar un fatal error, al momento que aparezca me ...
  #1 (permalink)  
Antiguo 23/05/2014, 09:58
Avatar de shamy1992  
Fecha de Ingreso: mayo-2014
Ubicación: La Florida
Mensajes: 3
Antigüedad: 9 años, 11 meses
Puntos: 0
Ocupar Fatal Error como Condición

Estimados,
recurro a ustedes ya en la web no eh podido encontrar respuestas a como puedo manejar un fatal error, al momento que aparezca me indique cual fue el ultimo dato que alcanzo a consultar, actualmente tengo un script que realiza unas consulta a una API o WebService, al consultar pocos datos este me arroja el resultado sin problemas, pero cuando ya son muchos datos a consultar y dejo correr el script surge el problema y me aparece el siguiente mensaje:

Código PHP:
PHP Fatal error:  Uncaught SoapFault exception: [HTTP] Could not connect to host in /var/www/html/dataware/ExtraerDatosLineas.php:29
Stack trace:

#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://bss.net...', '', 1, 0)
#1 /var/www/html/dataware/ExtraerDatosLineas.php(29): SoapClient->__call('getSubscription', Array)
#2 /var/www/html/dataware/ExtraerDatosLineas.php(29): SoapClient->getSubscription(Array)
#3 {main}
  thrown in /var/www/html/dataware/ExtraerDatosLineas.php on line 29
y hay el script de detiene.
Como dije al principio lo que quiero saber es que si al momento que aparezca el fatal error me pueda indicar cual fue el ultimo dato que alcanzo a consultar y luego consultar los datos restantes o existe otra forma que no se detenga el script para que termine de consultar todo los datos.

Este es el script que utilizo :

Código PHP:
<?php 
$clientBSS 
= new SoapClient($urlBSS, array('exceptions' => true"trace"=>true,'cache_wsdl' => WSDL_CACHE_NONE));

$subcriptionID=fopen('subscriptionID.txt','r') or die("No se pudo abrir el archivo"); //Datos a Consultar
$data_lineas=fopen('datos_lineas.csv','w');//Resultado de los datos consultados
      
while (!feof($subcriptionID))
    {
    
//Obtengo la lina del dato a consultar    
      
$subID=fgets($subcriptionID);
    
//Limpio el dato
    
$subsID=trim($subID);
        
//Funcion para consultar los datos
        
$r2 $clientBSS->getSubscription(array('auth'=>array('password'=>'xxxxx','user'=>'xxxxxxx'),
                            
'subscriptionID'=>$subsID));
                            
        
//Verifico que el dato exista
        
if($r2->GetSubscriptionResult->result->callMsg == 'SUCCESS')
        {
            
//Limpio el dato 
            
$idSubscriberNet = @eregi_replace("[\n|\r|\n\r]"' '$r2->GetSubscriptionResult->subscription->idSubscriber);
            
//Lo guardo en un array
            
$cliente = array($idSubscriberNet);
            
//Lo imprimo en un archivo separado por ,
            
fputcsv($data_lineas,$cliente);
        }                
    }
    
fclose($data_lineas);
    
fclose($subcriptionID);
    
    
$clientBSS->__getLastRequest();
    
$clientBSS->__getLastResponse();
?>
Por favor me puede ayudar con este tema.
  #2 (permalink)  
Antiguo 23/05/2014, 10:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ocupar Fatal Error como Condición

Pues podrías usar try-catch para capturar el error, consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/05/2014, 11:21
Avatar de shamy1992  
Fecha de Ingreso: mayo-2014
Ubicación: La Florida
Mensajes: 3
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Ocupar Fatal Error como Condición

Gracias me sirvio bastante, pero tengo una duda dentro del catch puedo indicarle que me escriba un valor en el archivo? o solo sirve para mandar mensajes de personalizados de errores?
  #4 (permalink)  
Antiguo 23/05/2014, 11:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ocupar Fatal Error como Condición

¿Ya consultaste el manual?

En el catch "capturas" el error, lo que hagas con él es tu asunto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/05/2014, 11:34
Avatar de shamy1992  
Fecha de Ingreso: mayo-2014
Ubicación: La Florida
Mensajes: 3
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Ocupar Fatal Error como Condición

Si, de hecho personalize el error, queria saber si podria hacer mas cosas con el catch así que empezare a realizar unas pruebas.

Gracias por la info
  #6 (permalink)  
Antiguo 23/05/2014, 11:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ocupar Fatal Error como Condición

Cita:
Iniciado por shamy1992 Ver Mensaje
[...] queria saber si podria hacer mas cosas con el catch así que empezare a realizar unas pruebas.
Pues de poder puedes, los límites los pones tu.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: condición, fatal, html, ocupar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:29.