第九天的最后一个视频将异常练习的时候,出现了一个把异常类对象抛两次的动作,但是抛完之后,在捕获的时候就没讲代码怎么写了,视频的代码太长了,我写个简单的帮我讲解下:
class SiJi extends Exception
{
SiJi(String s)
{
super(s);
}
}
class Computer
{
private int state=2;
public void run()throws SiJi
{
if(state==2)
throw new SiJi("死机了");
}
}
class Person
{
public static void main(String[] args)
{
Computer c=new Computer();
try
{
c.run();
}
catch(SiJi s)
{
System.out.println(s.toString());
}
}
}
呃,我的理解是Computer抛出了个死机异常,Person捕获了这个异常,并处理了,就是打印个异常信息.
这个只是抛出一次,捕获一次吧,可我想连续抛出两次,再捕获,那捕获那的代码该怎么写?比如:
class SiJi extends Exception
{
SiJi(String s)
{
super(s);
}
}
class Computer
{
private int state=2;
public void run()throws SiJi
{
if(state==2)
throw new SiJi("死机了");
}
}
class Teacher
{
public void use()throws SiJi
{
Computer c=new Computer;
try
{
c.run();
}
catch(SiJi s)
{
throw s;
}
}
}
class Person
{
public static void main(String[] args)
{
Teacher t=new Teacher();
try
{
t.use();
}
catch()
{
}
}
}
那红色的那段代码,我该怎么捕获Teacher里面的那个s,圆括号里面如何写呢,如果代码写错了请指正. |