Java - Try/catch 方法问题
Java - Try/catch method issue
我在尝试在我的代码中使用 try/catch 时遇到问题。每当我尝试 return 结果时;我收到错误 "cannot resolve symbol 'result'"。这是我的代码。
public Object remove(int index) {
try{
Object result = this.get(index);
for (int k = index; k < size-1; k++) items[k] = items[k + 1];
items[size] = null;
size--;
return result;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Exception occurred in 'remove' method.");
return result;
}
}
您已在 try 块中定义了结果变量。如果您在 {}
大括号内声明变量,那么该变量将只能在这些大括号内使用,并且不会对外界可用。
因此,要解决此问题,您可以执行以下操作:
Object result = null;
try {
....
} catch ... {
}
return result;
result
在 try 块中初始化。 try/catch 块的工作方式与 if/else 类似,因为您看不到在另一个块中初始化的对象。您可以通过在 try
.
之前初始化 result
来解决这个问题
public Object remove(int index) {
Object result;
try{
result = this.get(index);
for (int k = index; k < size-1; k++) items[k] = items[k + 1];
items[size] = null;
size--;
return result;
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("Exception occurred in 'remove' method.");
return result;
}
}
您可能根本不必捕获越界异常。假设 items
是一个数组,您可以在 for 循环中使用 items.length
来防止越界。
我在尝试在我的代码中使用 try/catch 时遇到问题。每当我尝试 return 结果时;我收到错误 "cannot resolve symbol 'result'"。这是我的代码。
public Object remove(int index) {
try{
Object result = this.get(index);
for (int k = index; k < size-1; k++) items[k] = items[k + 1];
items[size] = null;
size--;
return result;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Exception occurred in 'remove' method.");
return result;
}
}
您已在 try 块中定义了结果变量。如果您在 {}
大括号内声明变量,那么该变量将只能在这些大括号内使用,并且不会对外界可用。
因此,要解决此问题,您可以执行以下操作:
Object result = null;
try {
....
} catch ... {
}
return result;
result
在 try 块中初始化。 try/catch 块的工作方式与 if/else 类似,因为您看不到在另一个块中初始化的对象。您可以通过在 try
.
result
来解决这个问题
public Object remove(int index) {
Object result;
try{
result = this.get(index);
for (int k = index; k < size-1; k++) items[k] = items[k + 1];
items[size] = null;
size--;
return result;
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("Exception occurred in 'remove' method.");
return result;
}
}
您可能根本不必捕获越界异常。假设 items
是一个数组,您可以在 for 循环中使用 items.length
来防止越界。