Comment puis-je déterminer si l’essai a retourné une erreur ou non?
Je suis en train de faire ce qui suit:
try(htmlParse(ip[1], T)
où je définis comme:
ip[1] = paste('http://en.wikipedia.org/wiki/George_Clooney')
Je veux vérifier si le htmlParse a fonctionné ou pas. Pour beaucoup de noms dans ma liste, il n'y aura pas de wikipédia sites et donc j'ai besoin d'être en mesure de vérifier et de remplacer la propriété intellectuelle[1] avec NA de si les pages wiki n'existe pas.
Quelqu'un peut-veuillez indiquer comment je peux le faire. J'ai essayé d'utiliser la commande geterrmessage(), mais je ne suis pas sûr de la façon de couleur que chaque fois que je changer le nom de la célébrité.
Actuellement j'ai le texte suivant:
if(!isTRUE(as.logical(grep(ip[1],err)))) {
ip[1] = NA
}
else {
C'est vraiment incorrect car il ne fonctionne pas de la logique déclaration que je veux.
Grâce
Amar
source d'informationauteur user1496289
Vous devez vous connecter pour publier un commentaire.
Cet exemple simple devrait vous aider, je pense:
L'idée de base est la
try
retourne (invisible) un objet de la classe "essai-erreur" quand il y a une erreur. Sinon,res
contiendra le résultat de l'expression que vous avez passer àtry
. c'est à direPasser un peu de temps à la lecture de
?try
soigneusement, y compris les exemples (qui ne sont pas aussi simples qu'elles pourraient l'être, je suppose). Comme GSee les notes ci-dessous, une plus idiomatiques façon de vérifier si une erreur est renvoyée est d'utiliserinherits(res,'try-error')
.Je voudrais essayer de télécharger tous les noms (existante ou non) à partir de wiki et de les enregistrer dans des fichiers séparés.Je voudrais ensuite grep la chaîne de caractères Wikipédia n'est pas un article avec ce nom exact et pour le non-existants, je voudrais obtenir une valeur VRAIE. De cette façon, je crois que vous assurez-vous que l'analyseur a travaillé ou le nom n'existait pas. En outre, vous pouvez trier les fichiers en fonction de leur taille dans le cas où vous êtes se douter que quelque chose n'allait pas. Corrompues ont une taille plus petite.
En outre, je voudrais utiliser
tryCatch
fonction, dans le but de traiter la logique de statut: