import java.io.IOException
import java.io.InputStreamReader
/*编写一个自定义的异常类,包含一个product( )方法(用于两个数相乘),
如果product( )方法中的两个参数的乘积小于0,则抛出一个自定义异常类的对象
,输出错误信息和乘积的值。另外要求product( )方法要
用throws关键字声明该方法要抛出自定义异常和算术异常。
*/
public class ExceptionDemo {
public static void main(String[] args) throws MyselfException ,IOException{
System.out.println("请输入第一个数")
String str1=(new BufferedReader(new InputStreamReader(System.in))).readLine()
System.out.println("请输入第2个数")
String str2=(new BufferedReader(new InputStreamReader(System.in))).readLine()
System.out.println("你输入了"+Double.parseDouble(str1)+Double.parseDouble(str2)+"这两个数")
product(Double.parseDouble(str1),Double.parseDouble(str2))
}
public static double product(double x, double y) throws MyselfException {// 异常声明
if ((x <0 &&y >0) || (x >0 &&y <0))// 异常抛出
/*
* 方法中的两个参数的乘积小于0,则抛出一个自定义异常类的对象
* ,输出错误信息和乘积的值,,,,,,,则必须有一个人乘数为负,且两个都不为0才会出负值
*/
{
System.out.println("乘级=" + x * y)
throw new MyselfException("出现两个参数的乘积小于0的异常")
}// 输出错误信息
else
System.out.println("没有异常")
System.out.println("乘级=" + x * y)// 乘积的值
return x * y
}
}
class MyselfException extends Exception {
public MyselfException() {
}
public MyselfException(String message, Throwable cause) {
super(message, cause)
}
public MyselfException(String message) {
super(message)
}
public MyselfException(Throwable cause) {
super(cause)
}
}
double是基础数据类型,null是空对象,是(对象),数据类型都不统一,程序根本编译不了,更别谈运行了!就好比: int a="abc"这样的错误..根本编译不了!
如果方法上的返回值是Double用null是可行的,因为Double属于装箱后的double对象了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)