作者spiderman007 (千里之外)
看板java
标题[问题] 关於try-catch一问?
时间Sun Aug 28 11:28:57 2011
请问在catch{}内可以呼叫外部类别内的参数吗??
如下..
-----------------------
class CenterException extends Exception{
}
class OutException extends Exception{
}
class InException extends Exception{
}
class CCircle{
public double radius=10.0;
public double x1;
//设定测试点座标(x1,y1)
public double y1;
public double x2;
//设定圆心(x2.y2)
public double y2;
double dist = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));//计算点(x1,y1)离圆心(x2,y2)的距离
public CCircle(double a, double b, double c, double d){
x1=a; //(x1,y1)=(a,b)
y1=b;
x2=c; //(x1,y2)=(c,d)
y2=c;
}
public void check() throws CenterException,OutException,InException{
if(dist==0){
throw new CenterException();
}
else if(0<dist && dist<radius){
throw new InException();
}
else if(radius<dist){
throw new OutException();
}
}
}
public class ex13_14{
public static void main(String[] args){
try{
System.out.println("/* output---------------------------------");
CCircle cir = new CCircle(5.8,2.1,5.8,2.1);
cir.check();
}
catch(CenterException e){
System.out.println("(5.8,2.1)在半径10.0,圆心(5.8,2.1)的圆心上");
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
问题在此,我想用cir呼叫class CCircle内的资料成员,但不被允许..
请问有什麽方法能在catch内呼叫吗??
}
catch(OutException e){
}
catch(InException e){
}
System.out.println("-----------------------------------------*/");
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.26.130.14
1F:→ mars90226:你可以把资料放在错误物件里面 还有你的CCircle的y2错了 08/28 11:55
2F:推 LaPass:我觉得,你的问题出在「域」这个地方没弄清楚,就是大括弧 08/28 13:18
3F:→ LaPass:那个东西的正式名称叫什麽我不清楚,但在使用上,就是 { } 08/28 13:21
4F:→ mars90226:差不多就是域吧XD scope 08/28 13:23
5F:→ lachtchlee:作用域 作用域限定符 08/28 13:27
6F:推 ayumi001:在try{}内宣告的cir是一个区域变数 离开後括号後就失效了 08/28 17:10