日期:2014-05-17  浏览次数:20784 次

如果捕捉异常并继续循环
 
在循环中xmlparser.parseClob(xmlPar,c_policy.back_message);抛出异常
-31011
ORA-31011: XML 语法分析失败
ORA-19202: XML 处理 
LPX-00210: 预期为 '<'而不是 'w'

现在程序遇到这个异常就停止了,该如何跳过这个异常,继续执行循环呢


for c_policy in (
  select语句 ) loop

..

 xmlparser.parseClob(xmlPar,c_policy.back_message); 

..

  end loop;
  EXCEPTION 
  WHEN OTHERS THEN 
   
  -- DBMS_OUTPUT.put_line(group_id);
  DBMS_OUTPUT.put_line(SQLCODE); 
  DBMS_OUTPUT.put_line(SQLERRM);  
   
   
  end;





------解决方案--------------------
for c_policy in (
select语句 ) loop

..
--再加一个begin..end;
begin
 xmlparser.parseClob(xmlPar,c_policy.back_message);
exception when others then 
null;
end;

..

end loop;
EXCEPTION
WHEN OTHERS THEN

-- DBMS_OUTPUT.put_line(group_id);
DBMS_OUTPUT.put_line(SQLCODE);
DBMS_OUTPUT.put_line(SQLERRM);


end;


------解决方案--------------------
SQL code
for a_1 in a loop
BEGIN
 ... 
exception when  others then 
... 
END;
end loop