Bonjour,
J'ai une fonction qui lance une erreur.
Je voudrais modifier cette erreur (prefixer ses identifiant et message) afin qu'elle soit compatible avec un système de nomenclature privé.
Je recupere malheureusement une erreur matlab
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function err= add_error_mnemonic(err, prefix) err.identifier= [prefix':' err.identifier]; err.message= [prefix':' err.message]; rethrow(err); % fixme: faut il vraiment rethrow ici ?
Du coup j'imagine qu'il va me falloir créer une nouvelle erreur. Mais j'aimerais bien RETHROW. Et j'obtiens la même erreur lorsque j'essaye d'assigner dans err.stackSetting the 'identifier' property of the 'MException' class is not allowed.
Je passe donc à la version suivante
Tout se passe comme prévu, sauf que le debugger s'arrete sur la ligne [error(x)], et non pas au niveau de la stack comme je le souhaiterais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function err= add_error_mnemonic(err, mnem) x=[]; x.stack= err.stack; x.message= [mnem ':' err.message]; x.identifier= [mnem ':' err.identifier]; error(x)
Avez vous des idées ?
Merci d'avance.
Partager