首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

如果捕捉错误并继续循环

2012-05-24 
如果捕捉异常并继续循环在循环中xmlparser.parseClob(xmlPar,c_policy.back_message)抛出异常-31011ORA-3

如果捕捉异常并继续循环
 
在循环中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 loopBEGIN ... exception when  others then ... END;end loop 

热点排行