
EN: rebol.com -
rebol.org -
rebol.net -
FR: Rebol Documentation Project -
forum RebelBB -
rebol-france.org -
forum codeur -
Retourne une valeur erreur sous forme d’objet.
disarm error
error - L’argument d’erreur. (type: error)
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
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.