java编译器(jdkv11.0.2)给出了上述错误。
实际上,我试着用java中的多线程函数编写代码,同时打印从1到5再到5到1的数字,延迟200ms,但它显示了try-and-catch block-error的错误:
catch类型的非法开始(异常e)
class Threaddemo extends Thread
{
public static void run()
try
{
for(i=1;i<=5;i++)
{
System.out.println(i);
Thread.sleep(200);
}
}
catch(Exception e)
{
System.out.println("exception found");
}
}
class Threaddemo1 extends Thread
{
public static void run()
{
try
{
for (i=5;i>=1;i--)
{
System.out.println(i);
Thread.sleep(200);
}
}
catch(Exception e)
{
("exception2 found");
}
}
}
class mainclass
{
public static void main(String arg[])
{
threaddemo obj1=new threaddemo1();
threaddemo1 obj2=new threaddemo();
obj1.start();
obj2.start();
}
}
2条答案
按热度按时间f1tvaqid1#
你的第一节课缺了一个括号
{
. 同样,作为一个习惯于在方法下面加上括号的人,我认为如果你把它放在最后会更好/更清晰。另外,如果您查看我的解决方案并将其与您的解决方案进行比较,那么您并没有声明
i
在循环中。在你的情况下,它必须是int。b0zn9rqh2#
我想你错过了{}
尝试: