43816


現在Javaで計算機を作っています。全ての計算等の処理は完成し、残りは1÷0などのエラー対応となりました。

そこで、全てのエラーが発生した時にクラッシュせずにTextviewにerrorと表示し、ACボタン以外は受け付けせず、ACボタンで0に戻るようにしたい。


CC BY-SA 4.0
2018-05-05T22:37:55.680
43814
2021-03-07T04:35:29.813
2021-03-07T04:35:29.813
3060
28426
question
java android
Java言語による電卓開発においてのエラー対応


質問に具体的なコードが一切ないのでイメージですが、以下のような感じになると思います。

[code]

    void ACの処理() {
        // TextView に 0 を表示
        text.setText("0");
    
        // その他のボタンを押せるようにする
        for (Button btn: otherButtons)
            btn.setEnabled(true);
    }
    
    void AC以外の処理() {
        try {
            // 計算処理
        } catch (ArithmeticException e) {
            // TextView に error と表示する
            text.setText("error");
    
            // その他のボタンを押せないようにする
            for (Button btn: otherButtons)
                btn.setEnabled(false);
        }
    }
    
[/code]

ボタンは `setEnabled()` で有効化/無効化できます。

ArithmeticException は RuntimeException を継承していますので、計算処理をするメソッドの方に throws
を追加する必要はありません。また、計算処理全体を try … catch で囲めば、計算時のエラーをまとめて処理できます。


CC BY-SA 4.0
2018-05-06T02:48:21.280
43816
2018-05-06T02:58:31.030
2018-05-06T02:58:31.030
5288
5288
43814
answer