精华内容
下载资源
问答
  • 目录try-catch 语句作用捕获异常语句js错误类型: try-catch 语句作用捕获异常语句 执行流程: 先执行try的语句,如果有错误,就会将错误抛出,并且被catch捕获并去执行 ,这时候就会执行catch的语句,...

    try-catch 语句:作用捕获异常语句

    执行流程:
    先执行try中的语句,如果有错误,就会将错误抛出,并且被catch捕获并去执行
    这时候就会执行catch里的语句,而且不论try中有没有抛出和错误,finally语句都会去执行其中自己的代码块

    我们来看下常见的一些错误:

     console.log(a);//Uncaught ReferenceError(引用错误): a is not defined
       
     var b = 'hello'
     b();//Uncaught TypeError(类型错误): b is not a function
    

    我们来看下try-catch的用法:

      try {     console.log(a);
            } catch {
                /  一旦代码出错,自动执行catch语句, 
                console.log('代码出错了');
            }
    

    注意: !!!!!!!!! 如果不需要输出错误信息,catch 后不需要()

    如果需要输出错误信息,对错误进行处理; catch 需要() 并且需要传入一个参数err (就是错误信息,这里用err语义化,可以用a);

       try {
            console.log(a);
        } catch (err) {
            //  捕获 err 就是错误信息,
            console.log(err);
        }
    

    在这里插入图片描述
    我们看到这个输出结果和下面这样的信息相同
    在这里插入图片描述
    finally 不管代码是否出错,都会执行
    先来看不出错的情况

     try {
                console.log(1);
         } catch (err) {
                console.log(err);
         } finally {
                //   finally此处的代码始终都会执行
                console.log('代码执行了');
         }
    

    在这里插入图片描述
    再来看下出错的情况

     try {
                console.log(a);
         } catch (err) {
                console.log(err);
         } finally {
                //   finally此处的代码始终都会执行
                console.log('代码执行了');
         }
    

    finally此处的代码始终都会执行
    在这里插入图片描述

    js的错误类型:

    • 1.SyntaxError(语法错误)

    • 2.ReferenceError(引用错误)

    • 3.RangeError(范围错误)

    • 4.TypeError(类型错误)

    • 5.URLError(URL错误)

    • 6.EvalError(eval错误)

      1. Error(错误)

    其中,Error是基类型,其他错误类型都继承自该类型。因此,所有错误类型共享了一组相同的属性。Error类型的错误很少见,如果有也是浏览器抛出的;这个基类型的主要目的是供开发人员抛出自定义错误

    【EvalError(eval错误)】

    eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再在ES5中出现了,只是为了保证与以前代码兼容,才继续保留

    【RangeError(范围错误)】

    RangeError类型的错误会在一个值超出相应范围时触发,主要包括超出数组长度范围以及超出数字取值范围等

    new Array(-1); //Uncaught RangeError: Invalid array length

    【ReferenceError(引用错误)】

    引用一个不存在的变量或左值(lvalue)类型错误时,会触发ReferenceError(引用错误)

     console.log(a);//Uncaught ReferenceError(引用错误): a is not defined
    

    【SyntaxError(语法错误)】

    当不符合语法规则时,会抛出SyntaxError(语法错误)

    【TypeError(类型错误)】

    在变量中保存着意外的类型时,或者在访问不存在的方法时,都会导致TypeError类型错误。错误的原因虽然多种多样,但归根结底还是由于在执行特定类型的操作时,变量的类型并不符合要求所致

     var b = 'hello'
     b();//Uncaught TypeError(类型错误): b is not a function
    

    【URIError(URI错误)】

    URIError是URI相关函数的参数不正确时抛出的错误,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数

     decodeURI('%2'); // URIError: URI malformed
    
    展开全文
  • 主要介绍了JS异常处理的作用和实例,即try..catch语句,需要的朋友可以参考下
  • 摘自:https://blog.csdn.net/qq_27092581/article/details/92839049应用场景:当我们使用带资源的try语句时,使用finally也许会造成一个异常被覆盖问题,即try语句块中会抛出某个异常,执行finally语句块中跑出了...

    摘自:

    https://blog.csdn.net/qq_27092581/article/details/92839049

    应用场景:当我们使用带资源的try语句时,使用finally也许会造成一个异常被覆盖的问题,即try语句块中会抛出某个异常,执行finally语句块中跑出了同样的异常,这样的话就会导致原有的异常会丢失,转而抛出的finally语句中的异常。这时我们可以使用带资源的try语句来处理(前提是这个资源实现了AutoCloseable接口的类)

    格式如下:括号中可以写多行语句,会自动关闭括号中的资源

    try(Resource res = ...) {

    //TODO:res run

    }

    try (FileInputStream fileInputStream = new FileInputStream(file);

    InputStreamReader read = new InputStreamReader(fileInputStream, "GBK");

    BufferedReader bufferedReader = new BufferedReader(read);) {

    if (file.isFile() && file.exists()) { //判断文件是否存在

    lineTxt = null;

    while ((lineTxt = bufferedReader.readLine()) != null) {

    reaportParam = JacksonUtils.jsonStrToObj(lineTxt, ReportParam.class);

    return reaportParam;

    }

    } else {

    logger.info("找不到指定的上报结果文件");

    }

    } catch (Exception e) {

    logger.error("读取文件内容出错", e);

    }

    展开全文
  • 应用场景:当我们使用带资源的try语句时,使用finally也许会造成一个异常被覆盖问题,即try语句块中会抛出某个异常,执行finally语句块中跑出了同样异常,这样话就会导致原有异常会丢失,转而抛出finally...

     

    应用场景:当我们使用带资源的try语句时,使用finally也许会造成一个异常被覆盖的问题,即try语句块中会抛出某个异常,执行finally语句块中跑出了同样的异常,这样的话就会导致原有的异常会丢失,转而抛出的finally语句中的异常。这时我们可以使用带资源的try语句来处理(前提是这个资源实现了AutoCloseable接口的类)

    格式如下:括号中可以写多行语句,会自动关闭括号中的资源

    try(Resource res = ...) {
        //TODO:res run
    }
    try (FileInputStream fileInputStream = new FileInputStream(file);
                 InputStreamReader read = new InputStreamReader(fileInputStream, "GBK");
                 BufferedReader bufferedReader = new BufferedReader(read);) {
                if (file.isFile() && file.exists()) { //判断文件是否存在
                    lineTxt = null;
                    while ((lineTxt = bufferedReader.readLine()) != null) {
                        reaportParam = JacksonUtils.jsonStrToObj(lineTxt, ReportParam.class);
                        return reaportParam;
                    }
                } else {
                    logger.info("找不到指定的上报结果文件");
                }
            } catch (Exception e) {
                logger.error("读取文件内容出错", e);
            }

     

     

    展开全文
  • try-catch语句块中变量的作用域说明try-catch语句块中变量的作用域,与其它语句块的作用域一样。 在语句块内部定义的变量,作用域在语句块内部,外部不可见。 /*语句块内部*/ try{ int a = 0; }catch...

    对try-catch语句块中变量的作用域说明

    try-catch语句块中变量的作用域,与其它语句块的作用域一样。

    • 在语句块内部定义的变量,作用域在语句块内部,外部不可见。
        /*语句块内部*/   
        try{
            int a = 0;
        }catch(Exception e){
            int b = 0;
        }finally{
            int c = 0;
        }
        /*语句块外部*/       
        //a = 5;    //非法,编译器无法识别该变量
        //b = 5;    //非法,编译器无法识别该变量
        //c = 5;    //非法,编译器无法识别该变量
    • 在语句块外部定义的变量,在语句块内部可以对变量进行修改。
        /*语句块外部*/   
        int a = 0;
        /*语句块内部*/   
        try{
            a = 5;
        }catch(Exception e){
            a = 5;
        }finally{
            a = 5;
        }
        /*语句块外部*/   
        System.out.println(a);

    运行结果为

    5
    展开全文
  • 更新:感谢关于保持代码...我尝试通过使用try / catch语句来阻止无效数据类型输入,然后它可能会结束并结束整个程序,从而使我程序健壮,但它似乎不起作用.输入无效数据类型时,程序结束时不会在窗口中显示任何Ja...
  • try...catch语句的使用

    2020-10-29 00:02:31
    trycatch语句的作用是测试代码中的错误,看一下案例: //用于捕获指定语句块中的错误或异常 try{ console.log(v);//调用未定义的变量 -> 报错 } //用于处理try语句中出现的错误 catch(e){ //e - 表示try语句...
  • return的作用在Java中的return语句和方法有密切的关系,return语句用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。就像下边这样:package ...
  • 操作数栈,用来保存正在执行的表达式中的操作数,数据结构中学习过基于栈的多项式求值算法,操作数栈的作用和这个一样 局部变量区,用来保存方法中使用的变量,包括方法参数,方法内部声明的变量,以及方法中使用到...
  • MATLAB try/catch语句

    千次阅读 2016-10-25 11:15:43
    原文地址:matlab中try/catch语句作者:cailijun2010 try的作用是让Matlab尝试执行一些语句, 执行过程中如果出错, 则执行catch部分的语句. 其他语言也有类似的用法,其语法: try  尝试执行的语句块 catch  ...
  • 以前写try-catch时,遇到一些流、连接等对象,必定需要添加finally语句来关闭这些对象。今天突然发现try的with模块可以省略在finally手动关闭动作,可以通过将这些对象定义在with模块中,然后在try语句完成后,...
  • 以前写try-catch时,遇到一些流、连接等对象,必定需要添加finally语句来关闭这些对象。今天突然发现try的with模块可以省略在finally手动关闭动作,可以通过将这些对象定义在with模块中,然后在try语句完成后,...
  • 把可能引发异常语句封装在 try 语句块中,用catch语句以捕获可能发生异常。 如果 try 语句块中发生异常,那么一个相应异常对象就会被拋出,然后 catch 语句就会依据所拋出异常对象类型进行捕获,并处理...
  • matlab中try/catch语句

    2017-04-25 16:07:27
    try的作用是让Matlab尝试执行一些语句, 执行过程中如果出错, 则执行catch部分的语句. 其语法: try  尝试执行的语句catch  出错后执行的语句块 end
  • 在前面几篇分享中,我们已经了解了关于执行上下文、作用域、闭包之间关系。今天,我们则要说一说更为细节部分:语句语句是任何编程语言基础结构,与 JavaScript 对象一样,JavaScrip...
  • try...catch 的作用是测试代码中的错误。 有两种在网页中捕获错误的方法: (1)使用 try...catch 语句。(在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)  (2)使用 onerror 事件。这是用于捕获错误的老式方法。...
  • matlab 中try/catch语句

    2014-03-14 15:11:00
    try的作用是让Matlab尝试执行一些语句,执行过程中如果出错,则执行catch部分的语句,其语法: try (command1)组命令1总被执行,错误时跳出此结构 catch (command2)仅当组命令1出现错误时组命令2才被执行 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 546
精华内容 218
关键字:

trycatch语句的作用