articles/dicorebol-fr/disarm.txt · Dernière modification: 07/05/2005 00:20

EN: rebol.com - rebol.org - rebol.net -
FR: Rebol Documentation Project - forum RebelBB - rebol-france.org - forum codeur -

 

Disarm - Détail de la fonction

En résumé :

Retourne une valeur erreur sous forme d’objet.

En résumé :

disarm error

Arguments :

error - L’argument d’erreur. (type: error)

Description :

La fonction DISARM autorise l’accès aux valeurs d’un objet. Si l’erreur n’est pas désengagée elle interviendra immédiatement.

    probe disarm try [1 + "x"]
    
    make object! [
        code: 312
        type: 'script
        id: 'cannot-use
        arg1: 'add
        arg2: 'string!
        arg3: none
        near: [1 + "x"]
        where: 'do-out
    ]

L’objet d’erreur retourné depuis la fonction DISARM peut être déterminé par le type de l’erreur et ses arguments. Pour l’exemple dans le cas d’une erreur de division par zéro.

    probe disarm try [1 / 0]
    
    make object! [
        code: 400
        type: 'math
        id: 'zero-divide
        arg1: none
        arg2: none
        arg3: none
        near: [1 / 0]
        where: 'do-out
    ]

Vous devez écrire un bloc TRY qui comporte l’erreur après quelle soit intervenue :

    if error? err: try [
        value: 1 / 0
    ][
        err: disarm err
        either err/id = 'zero-divide [value: 0] [probe err quit]
    ]
    print value
    0

Fonctions en relation :

attempt - Essaie d’évaluer un résultat et retourne un résultat ou sur une erreur NONE.

error? - Retourne TRUE pour une valeur d’erreur.

trace - Active et désactive une trace de l’évaluation.

try - Essaie d’évaluer un bloc et retourne cette valeur ou une erreur.

Version anglaise officielle :

 
  articles/dicorebol-fr/disarm.txt · Dernière modification: 07/05/2005 00:20
 
Fil RSS: Recent changes RSS feed
Valid XHTML 1.0 Valid CSS Powered by PHP Driven by DokuWiki
Hébergement par Spinodo