读书人

关于Java的一个自定义抛处错误有关问题

发布时间: 2012-01-01 23:10:55 作者: rapoo

关于Java的一个自定义抛处异常问题
下面是一个温度检测的小程序,请问是怎么回事啊,。执行不了


import java.io.*;

//自定义异常类
class TmpException extends Exception
{
TmpException(String a)
{
super(a);
}
}

public class Test3
{


public static void main(String args[])
{
float tmp;
try {

tmp = Float.parseFloat(args[0]);

}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println( "请输入一个参数 ");
}
catch (NumberFormatException e)
{
System.out.println( "请输入一个数字 ");
}
catch (TmpException e)
{
System.out.println( "输出温度 "+tmp);
}
}

static void checktmp(float t) throws TmpException
{
if (t < -273.15)
{
throw new TmpException( "温度不能低于绝对零度 ");
}
}

}

[解决办法]

//自定义异常类
class TmpException extends Exception {
TmpException(String a) {
super(a);
}
}

public class Test3 {

public static void main(String args[]) {
float tmp = 0f; //初始化
try {

tmp = Float.parseFloat(args[0]);
checktmp(tmp); //要调用这个方法才可能抛出自定义异常
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println( "请输入一个参数 ");
} catch (NumberFormatException e) {
System.out.println( "请输入一个数字 ");
} catch (TmpException e) {
System.out.println( "输出温度 " + tmp);
}
}

static void checktmp(float t) throws TmpException {
if (t < -273.15) {
throw new TmpException( "温度不能低于绝对零度 ");
}
}

}


两个问题


读书人网 >J2SE开发

热点推荐