码迷,mamicode.com
首页 > 其他好文 > 详细

在aardio的函数里try...catch语句中使用return。

时间:2016-06-18 11:21:19      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

try{
    error("错误信息");
    //使用error可以抛出一个错误
    //如果error函数在try语句中,程序将不会报错,而会直接跳出try语句
}
catch(e){
    //如果try语句后跟catch语句则可以捕获到这个错误信息e
}

以上是try...catch的语法;

 

try语句尝试执行一个语句块,遇到错误则退出try语句块而不是中断aardio程序。
如果使用了catch语句块就可以捕获异常(catch语句块是可选的)。

以上是在aardio使用手册中的一段话。

 

也许在使用try catch的过程中我们常常想出现错误的时候直接返回错误。

举个例子:

import console; 

test = function(){try{
        error("1");
    }
    catch(e){
        return e;
    }
}

console.log(test());

console.pause(true);

我们在test执行的过程中如果出现错误就返回这个错误信息e。

可是,这样写就错了。orzing~

返回了一个null。(也就是test函数根本就没有返回值)

后来经过多次测试发现在try或者catch中使用return仅仅是跳出了try或者catch的花括号;所以函数是没有返回的。

那要想返回catch到的错误信息e,可以使用下面的方法:

import console; 

test = function(){
    var err;
    try{
        error("1");
    }
    catch(e){
        err = e;
    }
    return err;
}

console.log(test());

console.pause(true);

在函数体中定义一个局部变量err,可以在catch语句中把错误信息e赋值给err变量;

然后在函数体中返回,这样就可以返回catch到的错误信息了!

 

在aardio的函数里try...catch语句中使用return。

标签:

原文地址:http://www.cnblogs.com/daheian/p/5595832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!