JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide d'administration des systèmes Oracle® ZFS Storage Appliance
Oracle Technology Network
Bibliothque
PDF
Aperu avant impression
Commentaires
search filter icon
search icon

Informations document

Utilisation de la présente documentation

Chapitre 1 Présentation d'Oracle ZFS Storage Appliance

Chapitre 2 Statut

Chapitre 3 Configuration initiale

Chapitre 4 Configuration réseau

Chapitre 5 Configuration de stockage

Chapitre 6 Configuration du réseau de stockage SAN

Chapitre 7 Configuration utilisateur

Chapitre 8 Définition des préférences de ZFSSA

Chapitre 9 Configuration des alertes

Chapitre 10 Configuration de cluster

Chapitre 11 Services ZFSSA

Chapitre 12 Partages, projets et schéma

Chapitre 13 Réplication

Chapitre 14 Migration shadow

Chapitre 15 Ecriture de scripts à l'aide de la CLI

Automatisation de l'accès

Commandes de traitement par lots

Commandes de script

L'environnement de script

Interaction avec le système

La fonction Run

La fonction Get

La fonction List

La fonction Children

La fonction Choices

Génération de sorties

Gestion des erreurs

Chapitre 16 Maintenance des workflows

Chapitre 17 Intégration

Index

Gestion des erreurs

Lorsque le système génère une erreur, une exception est levée. L'exception est généralement un objet qui contient les membres suivants :

Les exceptions peuvent être interceptées et gérées, ou elles peuvent être levées hors de l'environnement de script. Si un environnement présente une exception non interceptée, la CLI affiche les informations détaillées à ce sujet. Par exemple :

dory:> script run('not a cmd')
error: uncaught error exception (code EAKSH_BADCMD) in script: invalid command
       "not a cmd" (encountered while attempting to run command "not a cmd")

Pour voir de plus amples informations sur l'exception, vous pouvez l'intercepter et la vider :

dory:> script try { run('not a cmd') } catch (err) { dump(err); }
{
   toString: <function>,
   code: 10004,
   message: 'invalid command "not a cmd" (encountered while attempting to
                      run command "not a cmd")'
}

Ceci vous permet également de mettre en oeuvre une gestion explicite des erreurs, par exemple :

#!/usr/bin/ksh -p

ssh -T root@dory <<EOF
script
       try {
               run('shares select default select $1');
       } catch (err) {
               if (err.code == EAKSH_ENTITY_BADSELECT) {
                       printf('error: "$1" is not a share in the ' +
                           'default project\n');
                       exit(1);
               }

               throw (err);
       }

       printf('"default/$1": compression is %s\n', get('compression'));
       exit(0);
EOF

Si ce script est nommé "share.ksh" et exécuté avec un nom de partage incorrect, un message d'erreur explicite est généré :

% ksh ./share.ksh bogus
error: "bogus" is not a share in the default project