エラー捕まえるためにtry-catch使ってるけど以下のように書くとエラーメッセージはわかるけどエラーが発生したときの変数iの値とかがわからない。
try
{
 for (int i = 0; i < 100; i++)
 {
  // 処理いろいろ
 }
}
carch (Exception ex)
{
 Console.WriteLine(ex.Message); // ここにブレークポイント
}

やはりtry-catchの外で変数を宣言するべき?
int i;
try
{
 for (i = 0; i < 100; i++)
 {
  // 処理いろいろ
 }
}
carch (Exception ex)
{
 Console.WriteLine(ex.Message); // ここにブレークポイント
}

行数増えるし見た目も良くない(個人の感想です。)ので出来れば宣言を分けたくないし、
変数が多いと分けるのも面倒。
プロフェッショナル版を買えば1番目の例でも変数iの値がわかるとかないですよね?
地道に分けるしかない??