本帖最后由 王月 于 2012-7-18 16:33 编辑
Integer.parseInt("234df")这句话会引起 java.lang.NumberFormatException这样一个运行时异常,
而Integer.parseInt("2347589436783657834")也会引起这样的异常。
我用了自定义异常,为什么输入两种错误的值只运抓住了NumberFormatException这个异常,怎么分类处理这些异常呢 ,就是输入非法字符是一个异常,输入超出int范围的值时又是一个异常。
public static int getConversion(String str) {
int i = 0;
try {
// i = Integer.parseInt(str);
if(Integer.parseInt(str)<Integer.MAX_VALUE){
i = Integer.parseInt(str);
}
if(Integer.parseInt(str)>Integer.MAX_VALUE)
{
throw new yuejieException();
}
} catch (yuejieException n) {
System.out.println("数值太大,超出范围");
}
catch (NumberFormatException n) {
System.out.println("输入有误,含有非数字字符");
}
return i;
} |