※ ChatGPTを利用し、要約された質問です(原文:ArrayListからの要素の取り出しについて)
ArrayListからの要素の取り出しについて
このQ&Aのポイント
Textクラス内でTest.txtの読み込み・表示を行い、Errorクラス内ではエラー内容を読み取りArrayListクラスのerrorListオブジェクトに格納する処理をします。
Testクラスで起こったエラーをキャッチした場合、エラーメッセージを取り出し、Testクラス内のcatch部分でその内容を表示させる方法について教えてください。
また、TextクラスとErrorクラスでの処理の流れについても教えてください。
質問いたします。
下記コードの目的は
Textクラス内でTest.txtの読み込み・表示を行います
次にErrorクラス内では
【errorRead() 】Testクラスで発生する可能性があるエラーを記載したError.txtよりその内容を読み取りその内容をArrayListクラスのerrorListオブジェクトに格納しておきます。
【setErrorMsg】ではerrorListに格納された要素から必要なエラー表示を取り出す処理をしています。
質問は各クラスのメソッドで起こったエラーをキャッチした場合【setErrorMsg】メソッドへ対応する要素の番号を渡し、errorListよりgetメソッドを使い要素を取得しTestクラス内のcatch部分でその内容を表示させたいのですが、表示の仕方が良くわかりません。
class Test{
public static void main(String[] args){
try{
メソッドの呼び出し
}catch(FileNotFoundException fnfe){
エラー内容の表示
}catch(IOException ie){
エラー内容の表示
}
}
class abc{
public voidTextRead() throws FileNotFoundException, IOException{
try{
外部ファイルaaa.txtの読み込み、DOS画面への表示処理
}catch(FileNotFoundException){
error.setERROR_MESSAGE(0);
}catch(IOException){
error.setERROR_MESSAGE(1);
}
}
class Error{
public void errorRead() throws FileNotFoundException, IOException{
ArrayList errorList = new ArrayList();
try{
BufferedReader br = new BufferedReader(new FileReader("Error.txt"));
while((errorStr = br.readLine()) !=null){
errorList.add(errorStr);
}
br.close();
}catch(FileNotFoundException fnfe){
setERROR_MESSAGE(3);
}catch(IOException ie){
error.setERROR_MESSAGE(4);
}
public int setErrorMsg(int count){
errorList.get(count);
return count;
}
}
宜しくお願い致します。
補足
早速のアドバイス有難う御座います。問題点は同じエラーが(FileNotFoundExceptionやIOException)複数のメソッド(同一のクラス内や別のクラスないなど)で定義している場合、『このクラスのこのメソッド』でFileNotFoundExceptionのエラーが発生しました。という風にしたいのですが、そのような場合はどうしたら良いのでしょうか。 class Test{ public static void main(String[] args){ try{ TextReadメソッドの呼び出し //(1) xyzReadメソッドの呼び出し }catch(○○Exception ○e){ ○○Exceptionの内容を表示 }catch(△△Exception △e){ △△Exceptionの内容を表示 //(4) (6) } } class abc{ try{ TextRead()の実行 //(2) catch(○○Exception ○e){ ○○Exceptionの内容のエラーコードを渡す }catch(△△Exception △e){ △△Exceptionの内容のエラーコードを渡す //(3) } } class def{ try{ xyzRead()の実行(2) catch(○○Exception ○e){ ○○Exceptionの内容のエラーコードを渡す }catch(△△Exception △e){ △△Exceptionの内容のエラーコードを渡す } } class Error{ public String getMessage(String errorCode){ } //(5) } (1)でTextReadメソッドの呼び出しをし、(2)で実行、エラー発生、(3)でキャッチし(4)へエラーコードを渡す。(5)で対応するエラー内容を取得し(6)でその内容を表示する。