JAVA自定义异常时的问题 无法将类Exception中的构造器Exception应用到给定的类型
代码是这样的,编译不通过classFuShuExceptionextendsException{privateStringmsg;FuShuException(Strin...
代码是这样的,编译不通过
class FuShuException extends Exception
{
private String msg;
FuShuException(String msg)
{
this.msg = msg;
}
public String getMessage()
{
return msg;
}
}
class Demo
{
int div(int a,int b)throws FuShuException
{
if(b<0)
throw new FuShuException("出现了除数是负数的情况");
return a/b;
}
}
class Exception3
{
public static void main(String[] args)
{
Demo d = new Demo();
try
{
int x = d.div(4,1);
System.out.println("x="+x);
}
catch (FuShuException e)
{
System.out.println(e.toString());
System.out.prinlln("除数出现负数了");
}
System.out.println("over");
}
}
错误提示是说 无法将类Exception中的构造器Exception应用到给定的类型,怎么回事啊? 展开
class FuShuException extends Exception
{
private String msg;
FuShuException(String msg)
{
this.msg = msg;
}
public String getMessage()
{
return msg;
}
}
class Demo
{
int div(int a,int b)throws FuShuException
{
if(b<0)
throw new FuShuException("出现了除数是负数的情况");
return a/b;
}
}
class Exception3
{
public static void main(String[] args)
{
Demo d = new Demo();
try
{
int x = d.div(4,1);
System.out.println("x="+x);
}
catch (FuShuException e)
{
System.out.println(e.toString());
System.out.prinlln("除数出现负数了");
}
System.out.println("over");
}
}
错误提示是说 无法将类Exception中的构造器Exception应用到给定的类型,怎么回事啊? 展开
5个回答
展开全部
Exception类实例化需要一个参数字符串的构造方法,你继承异常类后没有缺少了Exception类的构造方法。加一句super(msg);在FuShuException的构造方法里就行了。如
class FuShuException extends Exception{
private String msg;
public FuShuException(String msg){
super(msg);
this.msg = msg;
}
public String getMessage(){
return msg;
}
}
class FuShuException extends Exception{
private String msg;
public FuShuException(String msg){
super(msg);
this.msg = msg;
}
public String getMessage(){
return msg;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这复制的你的代码。完全没有问题的。
public class Exception3 {
public static void main(String[] args) {
Demo d = new Demo();
try {
int x = d.div(4, 1);
System.out.println("x=" + x);
} catch (fuShuException e) {
System.out.println(e.toString());
System.out.println("除数出现负数了");
}
System.out.println("over");
}
}
class fuShuException extends Exception {
private String msg;
fuShuException(String msg) {
this.msg = msg;
}
public String getMessage() {
return msg;
}
}
class Demo {
int div(int a, int b) throws fuShuException {
if (b < 0)
throw new fuShuException("出现了除数是负数的情况");
return a / b;
}
}
public class Exception3 {
public static void main(String[] args) {
Demo d = new Demo();
try {
int x = d.div(4, 1);
System.out.println("x=" + x);
} catch (fuShuException e) {
System.out.println(e.toString());
System.out.println("除数出现负数了");
}
System.out.println("over");
}
}
class fuShuException extends Exception {
private String msg;
fuShuException(String msg) {
this.msg = msg;
}
public String getMessage() {
return msg;
}
}
class Demo {
int div(int a, int b) throws fuShuException {
if (b < 0)
throw new fuShuException("出现了除数是负数的情况");
return a / b;
}
}
更多追问追答
追问
难道是我的编译器出问题了?前面的编译过一次是好的,后面就不行了
追答
不应该是编译器出问题的 。。你把我的代码贴到你的编译器里面执行。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只有与参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询