符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
Javascript 错误处理的几种方法
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了印台免费建站欢迎大家使用!
1.使用window.onerror指定错误处理函数。
当有错误的时候,onerror会被callback。 当某个JavaScript block中有多个script错误时,第一个错误触发后(回调callback),当前Javascript block后面的script会被自动Drop忽略掉,不被执行。
如:
代码如下:
html xmlns=""
head
titleTest/title
script type="text/javascript"
window.onerror = function(message, url, line)
{
alert("Error.\nMessage:"+ message +"\nUrl:" + url + "\nLine:" + line)
return true;
}
/script
/head
body
script type="text/javascript"
test();
test();
test();
test();
/script
script type="text/javascript"
test();
test();
test();
test();
/script
/body
/html
在上面的例子中只会有每一个block中的第一个test();产生error。触发window.onerror回调,后面的Javascript会被忽略掉。img 也支持 onerror img src="pic.gif" onerror = "javascript:alert("An error occurred.");"/。onerror 是浏览器支持的对象。由浏览器决定是否可以使用,不是DOM标准。
2.使用Javascript中的try catch throw处理异常。
Javascript支持了try catch throw,Javascript中定义的异常:
(1)EvalError: An error occurs in the eval() function.
(2)RangeError: A number value is greater then or less then the number that can be represented in Javascript(Number.MAX_VALUE and Number.MIN_VAKUE).
(3)ReferenceError: An illegal reference is used.
(4)SyntaxError: A syntax error occus inside of an eval() function call. All other syntax error are reorted by the browser and cannot be handled with a try...catch statement.
(5)TypeError. A variables type is unexpected. 6.URIError. An error ocuurs in the encodeURI() or the decodeURI() function.
如:
代码如下:
script type="text/javascript"
function CreateError()
{
throw new Error("Created error by custom.");
}
try
{
//throw a error from a function just want to see the call stack in firefox.
CreateError();
}
catch(error)
{
var errorMsg = ("Message: " + error.message + "\n");
if(typeof(error.stack)!=undefined)
{
//FF
errorMsg += ("Line Number: " + error.lineNumber + "\n");
errorMsg += ("File Name: " + error.fileName + "\n");
errorMsg += ("Stack Trace:\n" + error.stack + "\n");
}
else
{
//IE
errorMsg += ("Description: " + error.description + "\n");
errorMsg += ("Number: " + error.number + "\n");
}
alert(errorMsg);
}
finally
{
//alert("End try catch.message from finally block.");
}
/script
Error.message是IE和FireFox都支持的属性。
IE支持description 和 number属性。
FF支持fileName lineNumber 和 stack 属性。
由于Javascript是弱类型的语言。
所以在catch部分只能catch一次,不能像C#这样的语言可以写多个catch,catch不同类型的exception。
但是可以用 instanceof ErrorType的方式实现类似的功能。
如:
代码如下:
script type="text/javascript"
try
{ //Syntax Error
//eval("alert a");
//Custom Error
throw new Error("An error occured.");
}
catch(error)
{
if(error instanceof SyntaxError)
{
alert("Syntax Error");
}
else if(error instanceof EvalError)
{
alert("Eval Error");
}
else if(error instanceof RangeError)
{
alert("Range Error");
}
else if(error instanceof ReferenceError)
{
alert("Reference Error");
}
else if(error instanceof TypeError)
{
alert("Type Error");
}
else if(error instanceof Error)
{
alert("Custon Error");
}
alert(error.message);
}
/script
注:浏览器不会抛出Error类型的exception异常,所以如果捕获到Error类型的异常,可以确定这个异常是用户代码抛出的,不是浏览器抛出的。
Javascript的assert()
代码如下:
function assert(bCondition, sErrorMsg) {
if (!bCondition) {
alert(sErrorMsg);
throw new Error(sErrorMsg);
}
}
JavaScript编程开发语言可以说是大部分程序员都需要掌握的一种编程语言,而今天我们就一起来了解一下,在使用JavaScript编程的时候都有哪些常见的错误问题。
1.UncaughtTypeError:Cannotreadproperty
如果你是一个JavaScript开发人员,可能你看到这个错误的次数比你敢承认的要多(LOL?)。当你读取一个未定义的对象的属性或调用其方法时,这个错误会在Chrome中出现。您可以很容易的在Chrome开发者控制台中进行测试(尝试)。
2.TypeError:‘undefined'isnotanobject
这是在Safari中读取属性或调用未定义对象上的方法时发生的错误。您可以在SafariDeveloperConsole中轻松测试。这与1中提到的Chrome的错误基本相同,但Safari使用了不同的错误消息提示语。
3.TypeError:nullisnotanobject
这是在Safari中读取属性或调用空对象上的方法时发生的错误。您可以在SafariDeveloperConsole中轻松测试。
4.(unknown):Scripterror
当未捕获的JavaScript错误(通过window.onerror处理程序引发的错误,而不是捕获在try-catch中)被浏览器的跨域策略限制时,会产生这类的脚本错误。
5.TypeError:Objectdoesn'tsupportproperty
这是您在调用未定义的方法时发生在IE中的错误。您可以在IE开发者控制台中进行测试。
6.TypeError:‘undefined'isnotafunction
当您调用未定义的函数时,这是Chrome中产生的错误。丽江电脑培训认为您可以在Chrome开发人员控制台和MozillaFirefox开发人员控制台中进行测试。
7.UncaughtRangeError:Maximumcallstack
这是Chrome在一些情况下会发生的错误。一个是当你调用一个不终止的递归函数。您可以在Chrome开发者控制台中进行测试。
这是网页程序的问题,经常发生于网页的html代码的编写错误以及javascript、vbscript脚本代码未通过浏览器的检测而发出这样的提示,只要不影响正常的页面浏览就不必在意。如果影响了页面的功能使用,建议将页面刷新重新尝试并检测浏览器的安全设置、清除历史文件后再重新登陆页面。
1卸载迅雷软件
2卸载流氓软件(比如 360 腾讯管家 等)
3用火绒安全软件的系统修复功能来尝试帮你修复
原因分析如下:
一、一般在什么情况下容易弹出javascripterror提示框
1、从网上采集到的文章,但在前台打开后,就出现这个错误框!
2、图片内容页的幻灯片不播放,点播放就出现JAVA错误!
3、只在频道首页、栏目列表页和内容页有这样的错误!
4、从其它网站复制粘贴过来的图片文章经常出现这样的错误!
5、新添加频道和栏目之后,容易出现这样的错误!
6、调用自定义函数标签时出现Javascript错误!
7、修改模板把搜索按钮改成图片后提示:javascripterror
8、在模板中加入了JS调用代码,而JS文件并没有上传也会出现这个错误!
二、出现javascripterror提示框原因分析及解决方法
1、由于新安装好的网站或者新添加的频道或栏目,有些系统必需的JS文件并没有真正生成,这时添加文章在前台会出错,所以要在后台相应的频道中点击“刷新所有的JS”、“刷新专题JS文件”、“刷新栏目JS文件”;有些人以为,我没有添加专题就不用刷新专题JS了吧?错!必须也要刷新才行。
2、一般是修改模板时,JS调用代码多了或者少了就会出现这个讨厌的框。比如:模板中存在过期的广告调用JS调用代码,删除后即正常。还有的是因为模板中缺少了以下三个JS中的某一个而引起的错误:
3、有些是从其他网站复制过来的文章的js错误导致的。建议复制文章后放在记事本中过滤一下JS代码。或者修改出现错误的那篇文章,在源码状态下,查找并删除图片文章中包含的错误代码。
4、缺少相应的函数,所以调用时就一直显示错误。有的朋友以前在修改模板时,把官方默认的一些代码(如:图片无级缩放代码等)给删除了,结果也会出现JS错误。所以,动易后来把这些代码改成了删除后自动添加的,其目的就是减少JS错误。
5、常常是由于js文件没有上传成功或者你的浏览器版本过低或者限制过多造成的,从以上几个方面多检查一下或许能解决问题。
6、有些是传递的参数设定有问题。比如(('{$ArticleID}'))不需要加这么多的外包围。
只需要用{$ArticleID}就可以了!
7、在建立栏目或专题时,名称中包含了半角引号等非法字符而导致JS脚本错误,纠正之后即可解决。
8、采集项目如果过滤设置不正确,致使采集过来的一些文章JS脚本没有被过滤,也会出错。请重新设置采集过滤选项。