Как продолжить выполнение после исключения исключения в Java? - PullRequest
0 голосов
/ 26 января 2012

Я читаю файлы HTML из папки, используя анализатор xml, который хранит чистый код в tagNode

try {
    Document doc = new DomSerializer(props, true).createDOM(tagNode);
} catch (Exception ex) {
 ex.printStackTrace();
}

Но один из файлов выдает мне ошибку:

org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. 

Как продолжить выполнение программы после того, как исключение было перехвачено?


решение № 1

    try 
    {
            File folder = new File(path);
            File[] listOfFiles = folder.listFiles();
        FileWriter fstream = new FileWriter("dataset.txt");
            BufferedWriter br= new BufferedWriter(fstream);


for (int i = 0; i < listOfFiles.length; i++) {    
{
        try {
            Document doc = new DomSerializer(props, true).createDOM(tagNode);
        } catch (Exception ex) {
         ex.printStackTrace();
        }
    }
    } catch (Exception ex) {
         ex.printStackTrace();
        }

Если обойти это, почему я получаю эту ошибку?

Ответы [ 2 ]

4 голосов
/ 26 января 2012

Использовать блок try / catch

try{
   Document doc = new DomSerializer(props, true).createDOM(tagNode);
}
catch(DOMException e){
   //error handling here if you want
}

 //we now hit more code
2 голосов
/ 26 января 2012

Если вы обрабатываете список файлов, как вы упомянули выше, вам нужен только блок try-catch, который находится внутри цикла for:

File folder = new File(path);
File[] listOfFiles = folder.listFiles();
FileWriter fstream = new FileWriter("dataset.txt");
BufferedWriter br= new BufferedWriter(fstream);

for (int i = 0; i < listOfFiles.length; i++)  
{
    try 
    {
       Document doc = new DomSerializer(props, true).createDOM(tagNode);
    } 
      catch (DOMException de) 
      {
         de.printStackTrace();
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...