如何在Java中处理NumberFormatException(未选中)?
该 NumberFormatException的 是一个未经检查的 异常被抛出 parseXXX()方法时,他们无法格式 (转换)一个字符串转换成数。
该 NumberFormatException异常 可以由许多被抛出方法/构造中的类的java.lang 包。以下是其中一些。
公共静态int parseInt(String s)引发NumberFormatException
公共静态字节valueOf(String s)引发NumberFormatException
公共静态字节parseByte(String s)引发NumberFormatException
公共静态字节parseByte(String s,int radix)抛出NumberFormatException
公共Integer(String s)引发NumberFormatException
公共Byte(String s)引发NumberFormatException
每个方法都有一些定义的情况,在这种情况下它可能引发NumberFormatException。例如,当以下情况时,公共静态int parseInt(String s)引发NumberFormatException
字符串s为null或s的长度为零。
如果String包含非数字字符。
String的值不表示Integer。
例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
在可能导致NumberFormatException的代码周围使用try and catch块。
处理异常的另一种方法是使用throws关键字。
例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中处理NumberFormatException(未选中)? 的全部内容, 来源链接: utcz.com/z/338578.html