不是函数的我知道
但是有了函数怎么确定参数呢
import java.io.*;
class MyException extends Exception
{
MyException()
{
super();
}
MyException(String s)
{
super(s);
System.out.println("the Exception with ABCD");
}
}
public class exception
{
public static void main(String args[])throws IOException
{
while(true)
{
try
{
fn();
}
catch(IOException e)//怎么做转型啊 ,instanceof不行,这样没法接受啊
{
System.out.println("please again");
}
catch(MyException m)
{
break;
}
}
}
static void fn()throws Exception //throws Exception感觉很象函数异常时的返回
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("putinto u String");
String temp=br.readLine();
if(temp.equals("ABCD")==false)
{
throw new IOException();
}
else if(temp.equals("ABCD"))
{
throw new IOException("ABCD");
}
}
}
----------------解决方案--------------------------------------------------------
不知道你问什么
C++的博大精深让我叹服
----------------解决方案--------------------------------------------------------
我是问我的问题怎么解决
没有编译么
----------------解决方案--------------------------------------------------------
应该把你的问题说出来,有异常把异常信息帖出来
----------------解决方案--------------------------------------------------------
lz要转什么啊? 抛了一个Exception
却用它的两个子类去catch当然会有错了
----------------解决方案--------------------------------------------------------
是啊
但是实际抛出的不是基类的对象啊
所以我想问怎么做才能接受他真正的类型的异常处理
----------------解决方案--------------------------------------------------------
你的工作重心是子类还是父类啊,这写工作应该是在子类中去做啊,子类只可继承父类的方法,我想应该把代码放在MyException类中,异常也在MyException类中,你实在想用exception当类名,在MyException类中建立个exception的对象就可以做吗
----------------解决方案--------------------------------------------------------
是啊
但是实际抛出的不是基类的对象啊
所以我想问怎么做才能接受他真正的类型的异常处理
你别管你实际抛出的是什么异常!
关键你是用Exception抛出的
所以你后面就必须用Exception去接
往外层抛异常的话,外层也得是这个异常或是这个异常的父类
就算你用的是Exception也可以得到具体是什么异常
----------------解决方案--------------------------------------------------------