慷慨放分,求Web页面脚本错误的捕捉方法?
在Web中,可能有用VBS和JS写的众多的方法、函数,有时候这些脚本会出错,如:引用一个不存在的对象的方法。出错之后会弹出一个框。
有没有方法,在这个页面中放一个函数,一旦出错时,就执行这个函数,得到错误信息。
解决此问题者,可再加分。
问题点数:0、回复次数:18Top
1 楼tdl982324(最爱宝宝的笨熊)回复于 2003-05-06 20:16:47 得分 0
try
{
}
catch(e)
{
}
<body onerror="alert('error')">Top
2 楼hyee(小狗旺财)回复于 2003-05-06 20:18:26 得分 0
自动寻找错误,这样的函数是没有的了,不过也有折衷的方法。比如
function test(sFun)
{
if(typeof(sFun)=="string")
try {eval(sFun)} catch(e) {alert(e.)}
}
通过test这个函数作为接口运行其他函数。Top
3 楼ilikehere(火烧屁股)回复于 2003-05-06 20:42:58 得分 0
me来接点分..............Top
4 楼xinyunyishui(心云意水)回复于 2003-05-06 21:08:40 得分 0
<body onerror="yourFunction()">
<script>
function yourFunction()
{alert()
……
……
}
</script>Top
5 楼fason(咖啡人生)回复于 2003-05-06 21:46:38 得分 0
<script>
function catchError(m){
try{
eval(m).value='fason'
}
catch(e){
alert(e.name+'\n'+e.description+'\n'+e.message+'\n'+e.number)
}
}
catchError('fason')
</script>Top
6 楼wsj(骆驼)(-楼兰篇-)回复于 2003-05-06 22:02:59 得分 0
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<script>
window.onerror = function(s,u,l){
try
{
alert(u+"中\n\n"+l+"行\n\n发生了错误:"+s);
}catch(e){}
//to avoid IE handle it.
event.cancelBubble = true;
event.returnValue = true;
return true;
}
</script>
<BODY onclick="asdf">
<!--BODY onclick="throw 'exception not catched'"-->
<P> </P>
</BODY>
</HTML>Top
7 楼jlt2000(红尘牛仔)回复于 2003-05-07 14:56:57 得分 0
好了,不过我还想知道用VBScript的方法,能说一下吗?Top
8 楼llg518cn(想休息不能休息)回复于 2003-05-07 15:46:29 得分 0
Sub ErrBreak(WatchValue,StopHere)
'WatchValue:查看的变量值,Stop:是否中断在此函数处,而不管后面代码是否正确
Response.write "<br><B style='background-color:#FF0000;Color:#FFFFFF;Font-si
ze:12pt'> "&WatchValue&" <br>"
if StopHere=true then Response.End
End Sub
以上过程必须放在引用之前,例如:
<!--#include file="conn.asp"-->
<%
Sub ErrBreak(WatchValue,StopHere)'WatchValue:查看的变量值,Stop:是否中断在此函
数处,而不管后面代码是否正确
Response.write "<br><B style='background-color:#FF0000;Color:#FFFFFF;Font-si
ze:12pt'> "&WatchValue&" <br>"
if StopHere=true then Response.End
End Sub
ErrBreak Conn,true
'查看Conn的值,并在此处断点,VB调用函数或过程时不能使用(),
'要使用括号必须是要获得返回值或Call来调用,即这里可以写成
'Call ErrBreak(Conn,true)
'如果这里的true改为false,这里就不执行中断。如果采用了中断,
'就可以忽略后面的错误
%>
Top
9 楼flyycyu(fly)回复于 2003-05-07 15:52:38 得分 0
try
catchTop
10 楼netdust(静时常思己过,闲谈勿论人非)回复于 2003-06-17 09:44:56 得分 0
骆驼真是强!Top
11 楼yllaji(51FE.COM)回复于 2003-09-07 20:16:16 得分 0
try
{
……
}
catch(e)
{
alert('error');
}
Top
12 楼JavaBoyCaoJi(老曹)回复于 2003-09-07 21:33:28 得分 0
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<script>
window.onerror = function(s,u,l){
try
{
alert(u+"中\n\n"+l+"行\n\n发生了错误:"+s);
}catch(e){}
//to avoid IE handle it.
event.cancelBubble = true;
event.returnValue = true;
return true;
}
</script>
<BODY onclick="asdf">
<!--BODY onclick="throw 'exception not catched'"-->
<P> </P>
</BODY>
</HTML>
Top
13 楼zgmboy(guoming)回复于 2003-09-07 22:41:53 得分 0
怎么我运行上面的代码没反映呀???“?Top
14 楼runmin()回复于 2003-09-08 09:33:02 得分 0
<script>
try
{
new ActiveXObject("asd");
}
catch(e)
{
alert(e.message);
}
finally
{
}
</script>
Top
15 楼runmin()回复于 2003-09-08 09:40:17 得分 0
晕,哪辈子的帖子又给翻出来了啊?Top
16 楼fuzhan820(fzd)回复于 2003-09-08 10:09:44 得分 0
upTop
17 楼eva(eva)回复于 2003-09-08 10:10:00 得分 0
没人结贴
try
{
}
catch (e)
{
alert(e)
}
Top
18 楼taogx(Dominic)回复于 2003-09-08 10:22:45 得分 0
<script>
function catchError(m){
try{
eval(m).value='fason'
}
catch(e){
alert(e.name+'\n'+e.description+'\n'+e.message+'\n'+e.number)
}
}
catchError('fason')
</script>
还可以的Top





