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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在aardio的函数里try...catch语句中使用return。相关的知识,希望对你有一定的参考价值。

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。的主要内容,如果未能解决你的问题,请参考以下文章

异常捕获try----catch

/异常语句try,catch.

Java 在try—catch块之后的finally是干啥的?

java 异常处理2

try/catch/finally

try{ } catch{ } finally{ }