回答編集履歴
1
edit
answer
CHANGED
@@ -2,4 +2,10 @@
|
|
2
2
|
|
3
3
|
これは宣言であって初期化ではないです。
|
4
4
|
cという変数はint型だと言うだけで、何も値を保持していません。
|
5
|
-
「初期化」とは変数などに初期値を設定することを指します。
|
5
|
+
「初期化」とは変数などに初期値を設定することを指します。
|
6
|
+
Exceptionに入ればそれこそ何の値も設定されないことになります。
|
7
|
+
Exceptionに入るかどうかは実行してみないと分からないので「初期化されない可能性がある」と警告が出ます。
|
8
|
+
例え実装者が「必ず正当な値が入るつもり」で実装していたとしても、プログラム側はそんな意図は知らないわけで、与えられた情報にそって処理が行われます。
|
9
|
+
try-catchを入れないとそもそもコンパイルできないことだってあるのは、その機能が何かしらのExceptionをthrowするようにできているからで、それはつまり、Exceptionが起きる可能性がある機能であることを指します。
|
10
|
+
なので、変数を必ず参照する実装なのであれば、初期化は必須です。
|
11
|
+
※Exception起きた状態で続行するかどうかは要件次第
|