JavaでNumberFormatException(チェックされていない)を処理する方法は?
NumberFormatException 多くのメソッド/コンストラクターによってスローされる可能性があります java.langのクラスで パッケージ。以下はその一部です。
- public static int parseInt(String s)throws NumberFormatException
- public static Byte valueOf(String s)throws NumberFormatException
- public static byte parseByte(String s)throws NumberFormatException
- public static byte parseByte(String s、int radix)はNumberFormatExceptionをスローします
- public Integer(String s)はNumberFormatExceptionをスローします
- public Byte(String s)はNumberFormatExceptionをスローします
メソッドごとに定義された状況があり、 NumberFormatExceptionをスローする可能性があります 。たとえば、 public static int parseInt(String s)throws NumberFormatException いつ
- 文字列sがnullであるか、sの長さがゼロです。
- 文字列に数字以外の文字が含まれている場合。
- 文字列の値は整数を表していません。
例1
public class NumberFormatExceptionTest { public static void main(String[] args){ int x = Integer.parseInt("30k"); System.out.println(x); } }
出力
Exception in thread "main" java.lang.NumberFormatException: For input string: "30k" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at NumberFormatExceptionTest.main(NumberFormatExceptionTest.java:3)
NumberFormatExceptionの処理方法
NumberFormatExceptionを処理できます 2つの方法で
- NumberFormatExceptionを引き起こす可能性のあるコードを囲むtryandcatchブロックを使用します 。
- )例外を処理する別の方法は、スローを使用することです。 キーワード。
例2
public class NumberFormatExceptionHandlingTest { public static void main(String[] args) { try { new NumberFormatExceptionHandlingTest().intParsingMethod(); } catch (NumberFormatException e) { System.out.println("We can catch the NumberFormatException"); } } public void intParsingMethod() throws NumberFormatException{ int x = Integer.parseInt("30k"); System.out.println(x); } }
上記の例では、メソッド intParsingMethod() Integer.parseInt(“ 30k”)によってスローされる例外オブジェクトをスローします main()である呼び出しメソッドに この場合の方法。
出力
We can catch the NumberFormatException
-
JavaでArithmeticException(チェックされていない)を処理する方法は?
java.lang.ArithmeticException 未チェックの例外です Javaで。通常、 java.lang.ArithmeticException:/ by zeroに遭遇します。 これは、2つの数値を除算することを試みたときに発生します。 分母の数はゼロです 。 ArithmeticException オブジェクトはJVMによって構築される場合があります 。 例1 public class ArithmeticExceptionTest { public static void main(String[] args) {  
-
Javaでランタイム例外を処理する方法は?
ランタイム例外は、Javaプログラミング言語のすべての例外の親クラスであり、発生したときにプログラムまたはアプリケーションをクラッシュまたは破壊することが予想されます。ランタイム例外と見なされない例外とは異なり、ランタイム例外はチェックされません。 ランタイム例外は通常、プログラムが処理することが期待される状態ではなく、プログラマーのエラーを示します。ランタイム例外は、発生しない状態が発生した場合にも使用されます。プログラムのメモリが不足すると、ランタイム例外として表示されるのではなく、プログラムエラーがスローされることに注意してください。 最も一般的なランタイム例外はNullPointe