var fs = require('fs');
var realPath = 'no data';
try{
console.log('1');
try{
console.log('2');
realPath = fs.realpathSync('/nofile');
console.log('3');
}catch(inner_error){
console.log('inner error');
console.log(inner_error);
}finally{
console.log('inner finally:'+realPath);
}
}catch(outer_error){
console.log('outer error');
console.log(outer_error);
}finally{
console.log('outer finally:'+realPath);
}
作成 2011.11.27
更新 2011.11.27
更新 2011.11.27
Node.js の try-catch-finally のネスト検証
サンプルコード
実行結果
V8 エンジンだから普通にネストできる。
また、例外が発生した関数の返り値は代入されない。
また、例外が発生した関数の返り値は代入されない。
1
2
inner error
{ [Error: ENOENT, no such file or directory '/nofile'] errno: 34, code: 'ENOENT', path: '/nofile', syscall: 'lstat' }
inner finally:no data
outer finally:no data
タグ: Node.js