var recycleSample = function() { var dbSample:NotesDatabase = null; var vwSample:NotesView = null; var docSample:NotesDocument = null; try { dbSample = session.getDatabase( "", "", false ); vwSample = dbSample.getView( "" ); docSample = vwSample.getFirstDocument(); while ( docSample != null ) { /** * 処理 */ docSample = vwSample.getNextDocument( docSample ); } } catch(e) { print(e); } finally { if ( docSample != null ) docSample.recycle(); if ( vwSample != null ) vwSample.recycle(); // 自分自身のNotesDBの場合は以下は行わない if ( dbSample != null ) dbSample.recycle(); } }
SSJSでDominoオブジェクトを利用する場合、コードの中でリサイクル処理を行う必要がある(メモリの解放は自動で行われないため)。
そこで、 try ~ finallyを利用する
try 文にfinally句を追加すると、try文の中のコードが終了する際に、必ず、finally句の中のコードが実行されるので、そこでDominoオブジェクトをリサイクルする。
エラーが発生して、catch句の中のコードを実行してもfinally句の中のコードも実行される。