Member 14918856 Ответов: 1

Ошибка: исключение исключение IOException незарегистрированный; должны быть пойманы или как объявляют, были брошены удалить.deleteproduct();


error: unreported exception IOException; must be caught or declared to be thrown delete.deleteProduct();

показывая эту ошибку, когда я бегу в своем основном классе.

Что я уже пробовал:

/**
 * @(#)delete.java
 *
 *
 * @author 
 * @version 1.00 2020/9/1
 */
import java.io.*;
import java.util.*;

class delete
{

public static void deleteProduct() throws IOException {
    		Scanner strInput =  new Scanner(System.in);
    		String ID, record;
    		
    		
    		File tempDB = new File("database.txt");
    		File db = new File("database.txt");
    		
    		
    		BufferedReader br = new BufferedReader( new FileReader( db ) );
    		BufferedWriter bw = new BufferedWriter( new FileWriter( tempDB ) );
    		
    		
    		System.out.println("\t\t Delete Employee Record\n");
    		
    		System.out.println("Enter the Employee ID: ");
    		ID =  strInput.nextLine();
    		
    		
    		while( ( record = br.readLine() ) != null ) {
    			
    			
    			if( record.contains(ID) ) 
    				continue;
   
    			bw.write(record);
    			bw.flush();
    			bw.newLine();
 
    		}
    		
    		br.close();
    		bw.close();
    		
    		db.delete();
    		
    		tempDB.renameTo(db);
 
    }
}

1 Ответов

Рейтинг:
2

Sandeep Mewara

deleteProduct() заявляет, что он бросает IOException Учитывая, что это проверенное исключение, вы должны справиться с ним. Вам нужно либо поймать это исключение, либо снова бросить его. :

try {
  deleteProduct();
}
catch(IOException e) {
  e.printStackTrace();
}

Подробнее об исключениях Java читайте здесь: Урок: исключения (the Java™ Tutorials > Essential Classes)[^]