Java Try&抓住例子

时间:2015-03-23 22:09:07

标签: java try-catch

所以我在这里有这个代码,但我不明白为什么我的Try语句有下划线。当我将鼠标悬停在它上面时,它表示b3已在方法main中定义。我需要做些什么才能使其按照显示的方式工作。 (其他一切都有效)

public class ReviewTest {
public static void main(String[] args)
{
boxes b1 = new boxes();
System.out.printf("My first Box = %s\n", b1.toString());
System.out.printf("My first Box = %s\n", b1);

boxes b2 = new boxes(10.0, 12.4, 13.9);
System.out.printf("My second Box = %s\n" , b2);

System.out.printf("The volumne of b2 = %.3f\n", b2.volume());
System.out.printf("The surface Area of b2 = %.3f\n", b2.surfaceArea());

boxes b3 = null;

try {
   boxes b3 = new boxes(-1,4.3, 12);
}
catch (IllegalArgumentException ex)
{
  System.out.println(ex.getMessage());
}       
}

2 个答案:

答案 0 :(得分:1)

这是因为你已经定义了b3。您需要做的是解决这个问题:

在try / catch块之前,您定义了boxes b3 = null;。您需要做的是转到try块内,然后在boxes之前移除b3 = new boxes(-1,4.3, 12);部分。

答案 1 :(得分:0)

请改变         boxes b3 = new boxes(-1,4.3, 12); 上         b3 = new boxes(-1,4.3, 12);