Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何在抛出异常后继续执行?_Java_Domexception - Fatal编程技术网

在Java中,如何在抛出异常后继续执行?

在Java中,如何在抛出异常后继续执行?,java,domexception,Java,Domexception,我正在使用xml解析器从文件夹中读取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 invali

我正在使用xml解析器从文件夹中读取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

试试看
{
文件夹=新文件(路径);
File[]listOfFiles=folder.listFiles();
FileWriter fstream=新的FileWriter(“dataset.txt”);
BufferedWriter br=新的BufferedWriter(fstream);
对于(int i=0;i

如果有办法解决这个问题,为什么会出现这个错误?

使用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
使用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

如果您正在处理上面提到的文件列表,则只需要for循环内部的
try-catch
块:

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();
      }
}
File folder=新文件(路径);
File[]listOfFiles=folder.listFiles();
FileWriter fstream=新的FileWriter(“dataset.txt”);
BufferedWriter br=新的BufferedWriter(fstream);
for(int i=0;i
如果您正在处理上面提到的文件列表,您只需要for循环内部的
try catch
块:

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();
      }
}
File folder=新文件(路径);
File[]listOfFiles=folder.listFiles();
FileWriter fstream=新的FileWriter(“dataset.txt”);
BufferedWriter br=新的BufferedWriter(fstream);
for(int i=0;i
try catch
的全部要点是,如果出现异常,您可以继续您的程序,您可以发布您正在执行的异常处理吗?在没有有效的
doc
的情况下继续运行程序有意义吗?如果有,只需捕获异常并做出适当的反应。或者您的意思是
继续解析异常在发生此异常后
?我对所有程序使用了1个try/catch。现在我对DomeException使用了外部try/catch和try/catch。因此,出于某种原因,我得到了此错误,程序继续运行。不需要嵌套的try-catch块-您可以使用多个catch块以不同的方式处理不同的异常,但重点是拥有一个try块。一旦捕获到异常,执行将在最后一个catch块后的下一行继续(无论是否引发异常)。try catch的整个要点是,如果出现异常,您可以继续您的程序,您可以发布您正在执行的异常处理吗?在没有有效的
文档的情况下继续运行程序是否有意义?如果是,只需捕获异常并做出适当的反应。或者您的意思是
在t之后继续解析他的异常
?我使用了1个try/catch for all程序。现在我使用了outer try/catch和try/catch for DomeException。因此出于某种原因,我得到了这个错误,程序继续运行。不需要嵌套的try-catch块-您可以使用多个catch块以不同的方式处理不同的异常,但关键是一个try块。一旦捕获到异常,执行将在最后一个catch块后的下一行继续(无论是否引发异常)。您认为mu解决方案#1如何?您认为mu解决方案#1如何?