アカウント名:
パスワード:
未対応の元号を入れたら西暦 0 年扱いになったってことは、if (gengo == "大化") {...} else if (gengo == "平成") {...} else { seireki = 0;}という実装だったってことよね? これは例外吐いてエラー停止すべき状況なのでは。
新システムを準備してたんだから、旧システムがそう動くのは分かってたんじゃないかな。
新システム作って開始も2019年6月で何も問題ないはずだったんだから、わざわざ旧システム側にエラー処理を追加するはずもなく(旧システム作ったところが最初から入れておけっていう話だけど、旧システムもNECなのかな)。
大筋、旧システムが異常値に対して例外吐かないのが問題って話だと思ったが……データの入力元が信用可能としてエラー処理無しだったのか、西暦0年がエラー値なんだけど受け側でそれをちゃんとチェックしないバグだったのか、何も考えずに異常元号で西暦ゼロになるバグだったのか、どれだろうな……
異常データ入力として止まることなく全処理走りきってるのが不思議。和暦西暦変換以外一切元号触る処理が無かったのか…?
どっかでcatch (Exception e) {}してたとか
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
対応時期の問題ではなく設計の問題では (スコア:5, おもしろおかしい)
未対応の元号を入れたら西暦 0 年扱いになったってことは、
if (gengo == "大化") {
...
} else if (gengo == "平成") {
...
} else {
seireki = 0;
}
という実装だったってことよね? これは例外吐いてエラー停止すべき状況なのでは。
Re: (スコア:0)
新システムを準備してたんだから、旧システムがそう動くのは分かってたんじゃないかな。
新システム作って開始も2019年6月で何も問題ないはずだったんだから、わざわざ旧システム側にエラー処理を追加するはずもなく(旧システム作ったところが最初から入れておけっていう話だけど、旧システムもNECなのかな)。
Re:対応時期の問題ではなく設計の問題では (スコア:0)
大筋、旧システムが異常値に対して例外吐かないのが問題って話だと思ったが……
データの入力元が信用可能としてエラー処理無しだったのか、
西暦0年がエラー値なんだけど受け側でそれをちゃんとチェックしないバグだったのか、
何も考えずに異常元号で西暦ゼロになるバグだったのか、どれだろうな……
異常データ入力として止まることなく全処理走りきってるのが不思議。
和暦西暦変換以外一切元号触る処理が無かったのか…?
Re: (スコア:0)
どっかで
catch (Exception e) {}
してたとか