不会用try catch...............

ecobin 2005-07-19 11:30:08
看了半天的JS手册。。愣是看不明白。。求达人示例!
...全文
171 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
summercat 2005-07-19
  • 打赏
  • 举报
回复
例子说的已经很详细了

为 JScript 实现错误处理。

try {
tryStatements}
catch(exception){
catchStatements}
finally {
finallyStatements}
参数
tryStatement
必选项。可能发生错误的语句。
exception
必选项。任何变量名。exception 的初始化值是扔出的错误的值。
catchStatement
可选项。处理在相关联的 tryStatement 中发生的错误的语句。
finallyStatements
可选项。在所有其他过程发生之后无条件执行的语句。
说明
try...catch...finally 语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了程序员没有处理的错误,JScript 只给用户提供它的普通错误信息,就好象没有错误处理一样。

tryStatements 参数包含可能发生错误的代码,而 catchStatement 则包含处理任何发生了的错误的代码。如果在 tryStatements 中发生了一个错误,则程序控制被传给 catchStatements 来处理。exception 的初始化值是发生在 tryStatements 中的错误的值。如果错误不发生,则不执行 catchStatements。

如果在与发生错误的 tryStatements 相关联的 catchStatements 中不能处理该错误,则使用 throw 语句来传播、或重新扔出这个错误给更高级的错误处理程序。

在执行完 tryStatements 中的语句,并在 catchStatements 的所有错误处理发生之后,可无条件执行 finallyStatements 中的语句。

请注意,即使在 try 或 catch 块中返回一个语句,或在 catch 块重新扔出一个错误,仍然会执行 finallyStatements 编码。一般将确保 finallyStatments 的运行,除非存在未处理的错误。(例如,在 catch 块中发生运行时错误。)。

示例
下面的例子阐明了JScript 特例处理是如何进行的。

try {
print("Outer try running..");
try {
print("Nested try running...");
throw "an error";
}
catch(e) {
print("Nested catch caught " + e);
throw e + " re-thrown";
}
finally {
print("Nested finally is running...");
}
}
catch(e) {
print("Outer catch caught " + e);
}
finally {
print("Outer finally running");
}
// Windows Script Host 作出该修改从而得出 WScript.Echo(s)
function print(s){
document.write(s);
}
将得出以下结果:

Outer try running..
Nested try running...
Nested catch caught an error
Nested finally is running...
Outer catch caught an error re-thrown
Outer finally running
summercat 2005-07-19
  • 打赏
  • 举报
回复

就是在有可能出错的地方,加上,然后抱出一个简单的提示信息,或者不提示


<Script Language="JavaScipt"><!--
function can(){
var a = document.getElementsByTagName("INPUT");
for(var i=0; i<a.length; i++)
{
try{
if(a[i].type=="button") a[i].disabled = true;
}
catch(e){}

}
}
-->
</Script>
<input type="button" value="按钮" onClick="can();">
matrixy 2005-07-19
  • 打赏
  • 举报
回复
Error.prototype.toString=function(){
return this.description;
}

try{
var obj=new ActiveXObject("fjdklsajfldsa");
//这里构造一个运行时错误。
}
catch(e){
alert(e);
//这里将输出具体错误异常信息。
}

我这里重写了Error对象的toString方法,可以省时省力,直接的输出e.description.
wxylvmnn 2005-07-19
  • 打赏
  • 举报
回复
<script>
try
{
//可能出错的语句
alert (a)
}

catch(e)
{
alert(1);
}
</script>

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧