Java error: unreported exception ioexception must be caught or declared to be thrown
Java error: unreported exception ioexception must be caught or declared to be thrown
我在这里找不到我的代码有什么问题
public class Library{
FileReader fr = new FileReader("D:\Users\Adi\Documents\NetBeansProjects\Hw 7Jan-13Jan\Date.txt");
BufferedReader br = new BufferedReader(fr);
public void add(Publication p){
if(counter < publication.length){
publication[counter++]=p;
}
}
public boolean remove(int id){
Publication p=null;
for(int i=0;i<counter;i++)
if(publication[i].getId()==id){
p=publication[i];
for(int j=0;j<counter-1;j++)
publication[j]=publication[j+1];
publication[counter-1]=null;
counter--;
return true;
}
return false;}
}
我尝试使用 try{}
catch{}
但后来出现其他错误:class,interface or enum expected
感谢任何帮助!谢谢
P.S:我是这个 IOException 的新手并尝试{}捕获{} :)
问题可能是,您将 FileReader fr 定义为 class 变量。然后你会得到一个 handle/define 异常的错误。当你为句柄异常定义try-catch时,另一个问题出现了,即"Illegal start of type"。为此你需要 define/declare:
static{
try {
FileReader fr = new FileReader("D:\Users\Adi\Documents\NetBeansProjects\Hw 7Jan-13Jan\Date.txt");
} catch (Exception e) {
}
}
或者在Constructor中赋值FileReader。
FileReader fr;
public Library(){
try {
fr = new FileReader("D:\Users\Adi\Documents\NetBeansProjects\Hw 7Jan-13Jan\Date.txt");
} catch (Exception e) {
}
BufferedReader br = new BufferedReader(fr);
}
我在这里找不到我的代码有什么问题
public class Library{
FileReader fr = new FileReader("D:\Users\Adi\Documents\NetBeansProjects\Hw 7Jan-13Jan\Date.txt");
BufferedReader br = new BufferedReader(fr);
public void add(Publication p){
if(counter < publication.length){
publication[counter++]=p;
}
}
public boolean remove(int id){
Publication p=null;
for(int i=0;i<counter;i++)
if(publication[i].getId()==id){
p=publication[i];
for(int j=0;j<counter-1;j++)
publication[j]=publication[j+1];
publication[counter-1]=null;
counter--;
return true;
}
return false;}
}
我尝试使用 try{}
catch{}
但后来出现其他错误:class,interface or enum expected
感谢任何帮助!谢谢
P.S:我是这个 IOException 的新手并尝试{}捕获{} :)
问题可能是,您将 FileReader fr 定义为 class 变量。然后你会得到一个 handle/define 异常的错误。当你为句柄异常定义try-catch时,另一个问题出现了,即"Illegal start of type"。为此你需要 define/declare:
static{
try {
FileReader fr = new FileReader("D:\Users\Adi\Documents\NetBeansProjects\Hw 7Jan-13Jan\Date.txt");
} catch (Exception e) {
}
}
或者在Constructor中赋值FileReader。
FileReader fr;
public Library(){
try {
fr = new FileReader("D:\Users\Adi\Documents\NetBeansProjects\Hw 7Jan-13Jan\Date.txt");
} catch (Exception e) {
}
BufferedReader br = new BufferedReader(fr);
}