Je travaille sur une application qui doit déplacer des fichiers et mettre à jour certaines données dans la base de données. Si le fichier n'est pas trouvé, une exception sera lancée. Mais après cette exception, l'application s'interrompt et arrête de déplacer les fichiers. Comment puis-je modifier mon code pour que mon application puisse continuer après l'exception.
Il affichera simplement que le fichier n'existe pas, puis il continuera à déplacer le fichier suivant.
Voici mon code :
import java.sql.*;
import java.nio.file.*;
import java.io.*;
public class SortMainNewFinal {
public static void main(String[] args) throws IOException, FileNotSynchronizedException {
//some not relevant code
//...
//the relevant code
if(path.contains(timestamp)) {
if(filecheck(path,filename)) {
data.writeToFile("The File " + filename + " is already in its subordinated folder.");
}
}else {
checkDir(path+timestamp,filename);
filemove(path,timestamp,filename);
data.writeToFile("File "+filename+" has been moved into " + path + timestamp + "/" +
filename);
String strUpdate = ("update cm_documents set document_path=\""+path+timestamp+"/"
+filename + "\" where document_name=\""+filename+"\"");
data.writeToFile("SQL Statement is: " + strUpdate);
update.executeUpdate(strUpdate);
}
//Catch SQLException
}
private static void filemove(String path, String timestamp, String filename)
throws IOException, FileNotSynchronizedException{
try {
Files.move(Paths.get(path+filename), Paths.get(path+timestamp+"/"+filename));
}catch(NoSuchFileException e) {
String error= "ERROR: The file " + filename + " has been moved, renamed or deleted and
these changes are not synchronized with the database.";
String file_name="C:/database/logfile.log";
WriteFile data = new WriteFile(file_name,true);
data.writeToFile(error);
throw new FileNotSynchronizedException(filename);
}
}
}
class FileNotSynchronizedException extends Exception{
FileNotSynchronizedException(String filename) throws IOException{
super("The file" + filename + "has been moved, renamed or deleted and these changes are not
synchronized with the database.");
}
}
Mon problème est que l'application lance mon exception et s'interrompt ensuite, mais je veux que l'application imprime l'exception et qu'elle continue en haut de l'application avec la déclaration if, etc.
Je tiens à préciser que je ne suis pas de langue maternelle anglaise, donc veuillez excuser toute erreur, et que je suis assez novice en matière de codage, donc veuillez excuser toute erreur dans mon code. ( :