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