try и catch подскажите как правильно сделать
нужно сделать так, чтобы если map = error ну либо оно ничему не равно тоесть на него нету ответа от xmlResp, то выполнялся код который в первом листинге в catch.
так не работает( try{ map = xmlResp.getElementsByTagName('x'+x+'y'+y).item(0).firstChild.data; document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/" + map + ")"; }catch{ document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/no.gif)"; } и так пробывал: try{ map = xmlResp.getElementsByTagName('x'+x+'y'+y).item(0).firstChild.data; if(!map){document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/" + map + ")"; }else{ document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/no.gif)"; } }catch(e){} |
а пробрасывать(throw) исключение кто будет?
|
а try/catch зачем?
var tagNameId = 'x'+x+'y'+y; var tags = xmlResp.getElementsByTagName(tagNameId); var imgName = tags.length ? tags[0].firstChild.data : 'no.gif'; document.getElementById(tagNameId).style.backgroundImage = "url(img/"+imgName+")"; только непонятно достаточно ли tags.length в качестве условия. И очень настораживает использование id совпадающего с названием тэга |
нужен трай, потому что там ответ иногда пустой, и выдает ошибки...там цикл запросов XHR
|
Gvozd,
как его херячить? |
м.б. просто надо написать в первом случае }catch(e){ а не }catch{
|
пробывал, все делается как в catch всегда...тоесть всегда document.getElementById('x'+x+'y'+y).style.backgro undImage = "url(img/no.gif")"; хотя try должен работать
|
и это не работает(
try{ map = xmlResp.getElementsByTagName('x'+x+'y'+y).item(0).firstChild.data; if(map){ document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/" + map + ")"; throw "E0"; }else{ throw "E1"; } }catch(e){ if(e == "E1"){ document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/no.gif")"; } } |
Попробуйте так:
try{ map = xmlResp.getElementsByTagName('x'+x+'y'+y).item(0).firstChild.data; if(!map){document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/" + map + ")"; }else{ document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/no.gif)"; } }catch(e){ document.getElementById('x'+x+'y'+y).style.backgroundImage = "url(img/no.gif)"; } |
Цитата:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <title>title</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <SCRIPT TYPE="text/javascript"> function getXmlHttp(){ var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } var xmlhttp = getXmlHttp() xmlhttp.open('GET', '10.xml', true); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { var tags = xmlhttp.responseXML.getElementsByTagName('a'); } } }; xmlhttp.send(null); alert(1); </SCRIPT> </body> </html> |
Часовой пояс GMT +3, время: 16:20. |