关于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 (Array
IndexOutOfBoundsException 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( "温度不能低于绝对零度 ");
}
}
}
两个问题