Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Contourner une erreur de script

Bonsoir,

j'ai ce script pour récupérer la météo pour une liste de ville. Seulement, toutes les villes ne sont pas forcément référencées sur le site internet et donc lorsque c'est le cas, j'ai une erreur de script.

Est il possible d'outre passer cette erreur pour ne pas arreter l'execussion du script. Si je n'ai pas la météo pour toutes les villes ce n'est pas grave.

Town:


first 10 LOAD

RecNo() as RecNo,

[Nom Ville],
    
MAJ,
    
replace(capitalize(MAJ), ' ', '-') as Ville,
    
[Code Postal],
    
[Code INSEE],
    
[Code Région],
    
Latitude,
    
Longitude,
    
Eloignement


FROM

(
ooxml, embedded labels, table is ville)Where [Code Postal] = '75000';


LET v_RecNoCount = peek('RecNo',-1,'Town');


for a = 1 to $(v_RecNoCount);

//for a = 1 to 1;

LET v_URLValue3 = peek('Ville',-$(a),'Town');

LET v_URL3= 'http://www.weather-forecast.com/locations/'&v_URLValue3 & '/forecasts/latest';

Weather:

LOAD

*

FROM
[$(v_URL3)]
(
html, codepage is 1252, embedded labels, table is @2);

Next

1 Solution

Accepted Solutions
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Sébastien,

Il est possible de dire à QlikView d'ignorer certaines erreurs lorsqu'on le désire. Pour ce faire, il suffit de mentionner l'instruction suivante avant le bout de code pouvant causer des problèmes:

SET ErrorMode=0; //La valeur par défaut étant 1

Puis, à la fin du fil d'instructions pouvant causer des erreurs, on remet le mode de réactivité aux erreurs à sa valeur par défaut:

SET ErrorMode=1; //Retour au mode par défaut

Cordialement,

Philippe

View solution in original post

2 Replies
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Sébastien,

Il est possible de dire à QlikView d'ignorer certaines erreurs lorsqu'on le désire. Pour ce faire, il suffit de mentionner l'instruction suivante avant le bout de code pouvant causer des problèmes:

SET ErrorMode=0; //La valeur par défaut étant 1

Puis, à la fin du fil d'instructions pouvant causer des erreurs, on remet le mode de réactivité aux erreurs à sa valeur par défaut:

SET ErrorMode=1; //Retour au mode par défaut

Cordialement,

Philippe

Brice-SACCUCCI
Employee
Employee

Bonjour,

vous pouvez contrôler le comportement en cas d'erreur via la variable errorMode.

Par exemple :

// Erreurs silencieuses

SET ErrorMode = 0;

  

// Tâche pouvant générer une erreur

...

// Récupération du code de retour

LET lastScriptErrorCode = $(ScriptError);  

// Réactivation de la sensibilité aux erreurs        

SET ErrorMode = 1;

   

TRACE lastScriptErrorCode = $(lastScripErrorCode);

   

// Comptage des erreurs

IF (lastScriptErrorCode > 0) THEN

     LET noFailures = noFailures + 1;

     TRACE Failure detected, no=$(noFailures);

ENDIF;

Merci,

Brice