目的を理解するために以下のコードを作成しました。例外処理のクエリ
以下のコードではtryブロックにエラーがありますので、ブロックをキャッチして15を印刷する必要があります。最終的にはブロックが実行されるため、常に20が必要です。 出力では、出力に表示されます。
なぜこのdescripancy.IはJavaの初心者ですか? 15と20の両方を出力する必要がある場合は、必要に応じてプログラムを変更してください。
package javaapplication91;
public class NewClass
{
public static void main(String[] args)
{
NewClass n = new NewClass();
int z = n.m1();
System.out.println("z = " + z);
}
public int m1()
{
try
{
int a = 10/0;
System.out.println("Exception created");
return 10;
}
catch(ArithmeticException ae)
{
return 15;
}
finally
{
return 20;
}
}
}
Iメソッドは2つの値を返すことはできません。私は準備ができました[JLS 10.20](https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.20) –
あなたのメソッドは1つのint値を返すように書かれています。両方の値が必要な場合は、int []を返すようにメソッドを書き直し、int値をintに格納した後にそれを返すことができます。 – Jeet