>>729
それだとプログラム毎にgenerare_json()を書き換えるって事ですよね
(エラーチェックは入力値が対象なのでプログラム毎に変わるから)
if〜elseのネスト地獄に陥りたくないので、if文でエラーなら残りをすっ飛ばしたいだけなのです。
それとメインルーチンのほとんどがgenerare_json()内に入ってしまうような・・・

他の方法(関数内でprintもexitもなし)だと
1.エラー時、gotoでメインルーチン末尾に飛んでprint実行
2.フラグを用意し初期値true、エラー時falseにして、if(!フラグ && isError2())と毎回チェックする
3.例外処理
が思い浮かんだんですが、gotoはv5.3からだし、2は毎回チェックが煩わしい(スマートじゃない)、
3の入力値チェックのエラーは例外とは違う気がしたり・・・

それとも例外として処理してもいいのかな・・・?
チェック用自作関数は真偽を返すのでif文でエラーならthrowとか