Oracle ZFS Storage Appliance の概要
Oracle ZFS Storage Appliance の主な機能
Oracle ZFS Storage Appliance データサービス
Oracle ZFS Storage Appliance の構成
Oracle ZFS Storage Appliance の構成
エラーが生成されると、例外がスローされます。この例外は一般に、次のメンバーを含むオブジェクトです。
code - エラーに関連付けられた数値コード
message - エラーに関連付けられた、人間が読める形式のメッセージ
例外はキャッチして処理できます。または、スクリプト環境からスローされる可能性があります。スクリプト環境にキャッチされていない例外がある場合は、CLI にその詳細が表示されます。例:
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")
例外をキャッチしてダンプすることによって、例外に関するより詳細な情報を表示できます。
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")'
}
また、これにより、豊富なエラー処理も可能になります。次に例を示します。
#!/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
このスクリプトが「share.ksh」という名前であり、無効なシェア名で実行された場合は、次のような豊富なエラーメッセージが生成されます。
% ksh ./share.ksh bogus error: "bogus" is not a share in the default project