DTP駆け込み寺

[ 返信 ]

JavaScriptの try{ }catch の使い方

よろしくお願い致します。
環境はMacOS10.58、IndesignCS3です。JavaScriptは初心者です。
選択した表組の2列目のセル内のテキストに、
段落別にそれぞれ別の段落スタイルを適用させるようなスクリプトを以下のように作成しました。

var tableObj = app.activeDocument.selection;
var selColum1 = tableObj[0].columns[1];//2列目を定義
for (var i=0; i<selColum1.cells.length; i++)
{selColum1.cells[i].paragraphs[0].appliedParagraphStyle = "1行目";}
for (var i=0; i<selColum1.cells.length; i++)
{selColum1.cells[i].paragraphs[0].appliedParagraphStyle = "2行目";}

ただ、これではテキストのない(正確には2行目がない)セルが含まれているとエラーで止まってしまうので、
エラーの起こる箇所で以下のようにtry{ }catch(e){ }と入れてみるとエラーなく処理できました。

var tableObj = app.activeDocument.selection;
var selColum1 = tableObj[0].columns[1];//2列目を定義
for (var i=0; i<selColum1.cells.length; i++)
try{
{selColum1.cells[i].paragraphs[0].appliedParagraphStyle = "1行目";}
}catch(e){}
for (var i=0; i<selColum1.cells.length; i++)
try{
{selColum1.cells[i].paragraphs[1].appliedParagraphStyle = "2行目";}
}catch(e){}

ちゃんと動作はしているのですが、本来はifを使って2行目がないセルの処理をすべきなのでしょうか。
try〜を使ったこのようなエラー回避方法で問題がないのかどうかが気になります。
一概には言えないとは思いますが、ご意見ご指導の程よろしくお願い致します。

[10616] ごえもん (2010/09/29 Wed 16:22)


残り2件

  1. [10616] JavaScriptの try{ }catch の使い方 ごえもん 2010/09/29 16:22
    1. [10617] Re:JavaScriptのtry{ }catchの使い方 hoge 2010/09/29 17:41
      1. [10626] Re: Re:JavaScriptのtry{ }catchの ごえもん 2010/09/30 17:59