社区
JavaScript
帖子详情
不会用try catch...............
ecobin
2005-07-19 11:30:08
看了半天的JS手册。。愣是看不明白。。求达人示例!
...全文
225
4
打赏
收藏
不会用try catch...............
看了半天的JS手册。。愣是看不明白。。求达人示例!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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>
try
...
cat
ch
中,
cat
ch
加了return,后面的代码是
不会
执行的
cat
ch
中加了return,后面的代码是不执行的。
try
-
cat
ch
-finally中在finally中有几种情况
不会
执行
今天在用到
try
-
cat
ch
-finally的时候,对于finally中
不会
被执行到的情况进行了汇总: 第一种:finally中发生了异常,对里面的程序
不会
执行 第二种:程序所在线程死亡 还有就是关闭了cpu. 每天一点分享,进步每天。...
Try
中如果发现错误,即跳出
try
去匹配
cat
ch
,那么
try
后面的语句就
不会
被执行
那么当它调用的方法b返回异常对象时,方法a并不处理,而将这个异常对象向上一级返回,如果所有的方法均不进行处理,返回到主方法,程序中止。在Python和许多其他编程语言(如Java,C#)中,如果
try
块中的代码引发了一个异常,那么程序会立即跳出
try
块,并寻找与该异常匹配的
cat
ch
块。这意味着如果在
try
块中有一个函数调用或其他的代码,这些代码的执行结果如果在
try
块结束时没有任何异常被抛出,那么这些代码的结果就会被执行。块的代码总是会被执行,所以会打印出"这是在
try
/except之后的代码”。
Java如果在
try
,
cat
ch
里面执行return,那么还会
不会
执行finally?
点赞关注,
不会
迷路! 总结: 1、不管有没有异常,finally中的代码都会执行 2、当
try
、
cat
ch
中有return时,finally中的代码依然会继续执行 3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都
不会
改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算之前就确定了的。 4、如果return的数据是引用数据类型,而在finally中对该引用数据类型的属性值的改...
try
cat
ch
事务
不会
滚
在spring机制中,在配置事务后,如果采用
try
cat
ch
捕获异常后,因为异常已经被捕获,所以事务
不会
滚,从而产生许多脏数据。解决办法: 1.在
cat
ch
中抛出异常,(throw new RuntimeException("");)且为运行时异常,抛出普通异常
不会
滚。 2.如果为注解配置,那么可以将
try
(method)
cat
ch
的method,单独提出成一个方法,那...
JavaScript
87,984
社区成员
224,681
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章