精华内容
下载资源
问答
  • vuetry...catch的使用

    万次阅读 2020-10-26 19:13:35
    vuetrycatch的使用 try-catch主要用于进行异常处理; 1.防止因为错误而造成系统崩溃 在程序逻辑中, 需要在易出现问题的逻辑代码片段上, 加持try-catch方法, 这样做可以抛出错误, 但是不会影响整个程序运转; ...

    vue中try…catch的使用

          try-catch主要用于进行异常处理;
    
    1.防止因为错误而造成系统崩溃

    在程序逻辑中, 需要在易出现问题的逻辑代码片段上, 加持try-catch方法, 这样做可以抛出错误, 但是不会影响整个程序运转;

    try {
       // 你的逻辑代码
    } catch (e) {
       // 错误处理代码片段
    }
    
    展开全文
  • vue promise async-await try-catch 讲解 promise 异步函数 与 回调函数的说明 异步函数: 定时器setTimeout, ajax (异步函数的执行, 不会阻塞主线程代码的执行) 回调函数: 把一个函数当成参数传递, 将来特定的时机...

    vue promise async-await try-catch 讲解
    promise
    异步函数 与 回调函数的说明
    异步函数: 定时器setTimeout, ajax (异步函数的执行, 不会阻塞主线程代码的执行)
    回调函数:

    1. 把一个函数当成参数传递, 将来特定的时机调用, 这个函数就叫回调函数
    2. 什么时候会用到回调函数, 异步的时候 ajax success error
    console.log(1)
    setTimeout(function() {
      console.log(2)
      setTimeout(function() {
          console.log(4)
      }, 1000)  
      console.log(5)
    }, 1000)
    console.log(3)
    

    13254
    回调函数的问题:

    1. 回调函数的阅读性不好, 回调不会立马执行
    2. 回调函数如果有大量的嵌套, 可维护性差 (回调地狱)
      promise 就是为了解决回调函数嵌套的问题而存在的
      读取文件演示回调嵌套
      在这里插入图片描述
      这样读取的顺序是不一定的,和文件的大小,和计算机的性能都有关系
      在这里插入图片描述
      这样读取的顺序是一定的
      promise的基本认识
    // 1. 创建promise对象
    // 2. 使用promise对象
    
    const fs = require('fs')
    
    // promise承诺, 一般承诺的是将来的事情, 可能成功 也可能失败
    // 1. 创建
    const p = new Promise(function(resolve, reject) {
      // promise中一般封装一个异步的操作 比如: ajax, 读写文件
      // resolve 和 reject 都是 promise 给你提供好的函数
      // resolve是需要在成功的时候调用的函数
      // reject是需要在失败的时候调用的函数
      fs.readFile('a.txt', 'utf8', (err, data) => {
        if (err) {
          reject(err)
        } else {
          resolve(data)
        }
      })
    })
    
    // 2. 使用promise对象
    // axios({ .. }).then(成功的函数).catch(失败的函数)
    // p.then(成功的函数).catch(失败的函数)
    p.then(function(data) {
      console.log(data)
    }).catch(function(err) {
      console.log(err)
    })
    
    
    /* 
      promise:
        1. 创建promise对象
           resolve 是成功的时候, 需要调用的函数
           reject 是失败的时候, 需要调用的函数
    
           const p = new Promise(function(resolve, reject) {
              // 里面一般封装的是异步函数的处理
           })
    
        2. 使用promise对象
           p.then(成功的函数).catch(失败的函数)
    
    */
    

    promise的三个状态

    • pending: 等待 (进行中)
    • fulfilled: 成功 (已完成), 调用了 resolve, promise的状态就会被标记成成功
    • rejected: 失败 (拒绝), 调用了 reject, promise的状态就会被标记成失败
      小tips: promise的状态只能修改一次 一旦promise的状态发生变化, 状态就会被凝固
      利用promise解决回调嵌套的问题
      在这里插入图片描述
      宏任务,微任务
      宏任务: 主代码块, 定时器都属于宏任务
      微任务: 当前宏任务执行完,在下一个宏任务开始之前需要执行的任务
      (promise就属于微任务, 在下一个宏任务开始前, 先执行)
      async-await
      async-await存在的意义就是解决回调嵌套的问题
      可以大大的提升 promise 在使用时的可读性!!!
      在这里插入图片描述
      async会阻塞函数的执行,一直等到成功的结果!!!一个async 里面可以有多个await在这里插入图片描述
      await等待的是promise resolve 的结果 并不能等待reject 的结果 如果失败了会报错直接抛出错误,所以需要try catch 一波
      try catch
      捕获错误的语法
      try catch 并不是一定要在async await里面使用,哪里都可以使用
      打印出错误信息 可以更好的理解错误 进行调试
    try {
      // 尝试着去做的事情,执行的代码
    } catch (err) {
      //打印,尽量不要写空,哪怕就是两个斜线
      
    }
    

    try和不try的错误显示区别
    在这里插入图片描述
    在这里插入图片描述
    利用async和await对发送请求进行改造
    在这里插入图片描述
    axios.method(‘url’)在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • try catch 用法

    万次阅读 2017-08-02 10:08:18
    在实际应用中,碰到了一个问题,就是在动态生成一个表格的时候,从后台...这个时候我们就可以使用 try catch 方法 来 处理浏览器的位置错误下面是相对简单的例子:try { foo.bar(); } catch (e) { if (e instanceof E

    在实际应用中,碰到了一个问题,就是在动态生成一个表格的时候,从后台接收到的的数据和表头名称是不同的接口,而表格的id是在表头名称这个接口动态生成的,所以就会导致一个问题,在火狐浏览器中,响应请求比较慢
    这个时候我们就可以使用 try catch 方法 来 处理浏览器的位置错误

    下面是相对简单的例子:

    try {
     foo.bar();
    } catch (e) {
     if (e instanceof EvalError) {
         alert(e.name + ":" + e.message);
     } 
     else if (e instanceof RangeError) {
         alert(e.name + ": " + e.message);
     } 
     // etc 
    }

    关于错误 e 的主要属性 :

    description: 错误描述 (仅IE可用).
    fileName: 出错的文件名 (仅Mozilla可用).
    lineNumber: 出错的行数 (仅Mozilla可用).
    message: 错误信息 (在IE下同description)
    name: 错误类型.
    number: 错误代码 (仅IE可用).
    stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).

    关于 try 的一些 应用场景

    1、浏览器原罪的场合:也就是兼容性场合,因为浏览器兼容性不是程序员能改正的,所以只能try catch:由于不同浏览器的报错提示是不一样的,根据捕获的浏览器的报错提示判断用户的浏览器,然后做出对应的措施,这时候使用try catch是巧妙的办法,如果用if就比较笨拙,因为if通常只能反馈真或假,不能直接反馈浏览器的报错内容。
    2、考虑如下代码。window.a.b是非法的,再跟2对比就没有意义,这样非法的条件,在try catch中仍可以继续运行下去。但在if中window.a.b已经报错,整个页面都会坏掉。如果希望用if写,那么必须先判断window.a是否是合法的,window.a是合法的前提下再判断window.a.b是不是合法的,如果也是合法的,再判断window.a.b是否不等于2,这样是不是很蠢?这时就体现出try catch的妙处了,程序不但知道window.a.b !== 2是假的,而且直接可以知道究竟哪一步就已经是假的。
    再想象一下,有一个变量是json.a.b.c,其中的a/b/c都可能是存在的也可能是不存在的,全看具体情况,这时候你简单的写if (json.a.b.c === 2) {…}是不行的,因为json.a.b就可能已经是非法的,所以你如果用if,就要考虑a是不是非法的、a是合法前提下b是不是非法的,b是合法前提下c是不是非法的。但是json.a.b.c === 2在try中就可以直接写,也就是说,我不关心究竟a/b/c谁是非法的,我只关心json.a.b.c到底是不是等于2,不等于2或者任何一步出错,对我来讲没有区别,反正都是不等于2,我不关心哪步出错,而且程序不会坏掉。这是一种比较省心的写法。
    另外注意,try catch不能做真假判断,只能做非法判断。也就是说:try {1 === 2},虽然1===2是假,但是是合法的,catch不会捕捉到错误,也不会告诉你1 === 2到底是真是假。所以,写在try里的应该是json.a.b.c而不是json.a.b.c === 2。究竟是不是等于2,是后面的事,是if干的事。简单说,try catch用于捕捉报错,当你不关心哪一步错误,只关心有没有错,就用try catch。

    展开全文
  • 问题 axios返回200状态码(即请求成功)却走进...当axios请求完成后走的时then的代码块,如果then代码块中存在错误代码信息,这时就会进入catch中抛出异常(注意:此时控制台并不会报错,因为错误被catch捕获了) ...

    问题
    axios返回200状态码(即请求成功)却走进了catch里面

    原因
    当axios请求完成后走的时then的代码块,如果then代码块中存在错误代码信息,这时就会进入catch中抛出异常(注意:此时控制台并不会报错,因为错误被catch捕获了

    参考链接 https://www.cnblogs.com/linjiangxian/p/13099078.html

    展开全文
  • 使用vue出现的bug和已经实现的功能 1.反复在公共组件中调用同一个component组件并且需要传值刷新时(就是路由地址不变,根据不同传值刷新) (1)引入一个utils.js内容如下 import Vue from 'vue' export default ...
  • try catch的使用方法

    2020-12-15 21:47:04
    try中写入可能出现的异常情况,然后在catch中把出现的异常情况写入解决方法。 也可以用来检测代码不确定哪里出现的异常或者类型; error.name是错误的类型,error.message是报错的信息; 常见的错误类型分为: 1、...
  • try catch finally 用法

    千次阅读 多人点赞 2018-10-13 19:34:59
    否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就...
  • 重点: 直接给接口里面方法加一个setTimeout即可,具体为什么我现在还不知道 截图看下:
  • try catch finally何时使用

    千次阅读 2018-08-13 10:49:50
    1.try里面的代码报错的时候,catch里面的代码才会执行,finally里面的代码永远会执行 2.try里面的一行代码出错,try代码块里错误代码之后的代码不会走到 3.catch代码块里有错误代码会报错,并且错误代码之后的代码...
  • Vue面试题

    千次阅读 多人点赞 2019-09-19 23:22:09
    1、什么是MVVM? 答:MVVM是是Model-View-ViewModel的缩写,Model代表数据模型,定义数据操作的业务逻辑,View代表...2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index.js文...
  • // 使用 try{ //当代码可能发生错误 }catch(err){ //触发catch函数 捕获到异常(报错) } // await接受成功的结果,那么失败怎么办? try { const { data : { data } } = await this . $...
  • 在开发中,你是否会为了系统健壮性,亦或者是为了捕获异步的错误,而频繁的在 async 函数中写 try/catch 的逻辑? async function func() { try { let res = await asyncFunc() } catch (e) { //… } } 复制代码曾经...
  • js中的异常处理try...catch使用介绍

    千次阅读 2016-01-22 09:06:05
    在JavaScript可以使用try...catch来进行异常处理。例如:  复制代码代码如下: try { foo.bar();} catch (e) { alert(e.name + ": " + e.message);}  目前我们可能得到的系统异常主要包含以下6种:  ...
  • ​一个ts装饰器的demo const userInfo: any = undefined class Test { getName() { return userInfo.name } } ...const test = new Test() ...因为​userInfo中没有​​name​属性, ...使用​​try...catch...​ ge
  • 先看下面的代码,思考一下输出:try { throw new Error(3); } catch (e) { console.log(e); } try { // 捕捉不到...
  • 什么时候需要用到try-catch

    千次阅读 多人点赞 2018-01-24 11:27:56
    面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch。面试官:什么是预料不到的情况呢?程序员:比如我要计算a除以b,但是b是变量,如果b等于0程序就会出错,所以我会将程序代码...
  • Vue错误处理

    千次阅读 2020-03-04 10:55:15
    如果代码出现空指针那么当前进程被阻塞了,导致页面崩溃,知道了原因,那么如果我们在可能出错的地方加上类似try···catch这种操作是不是就可以让进程持续下去呢,事实证明确实是这样的,查看了vue官方文档,找到...
  • 项目中是否使用try catch的见解

    千次阅读 2018-06-27 20:23:18
    缘由:实际开发中,考虑到会有一些异常的情况,会使用try catch实际线上环境中,由于try catch了,遇到异常情况不会崩溃,但是对于用户的使用来说, 点击操作后,没有任何反应实际开发与线上环境中,由于try catch了...
  • 方法有try catch但不执行也不报异常

    千次阅读 2018-11-22 09:07:54
    try的第一句语句无效,所以直接退出,也没有异常报错,如DexFile类过时。
  • try-catch应用场景分析

    2019-11-19 16:27:10
    try-catch应用场景分析 例: 面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch。面试官:什么是预料不到的情况呢?程序员:比如我要计算a除以b,但是b是变量,如果b等于0程序...
  • 1.使用trycatch,finally语法处理异常可以使代码在异常的情况下继续执行。 2.当catch块指定捕捉的异常与代码异常不同时,程序会被终止。 3.当catch块没有指定捕捉异常内容时,任何异常都会被捕捉。 4.当代码没有...
  • 作者:Ashish Lahoti 译者:前端小智 来源:codingnconcept ...最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。 github 地址:https://github.com/q.
  • <script> let obj = { name: 'JS', age: 20, lib: 'jQuery' };... let arr = ['HTML', 'CSS', 'Vue', 'Ract']; try { try { for (let key in obj) { if (key === 'age') break; // 可使用bre...
  • TryCatch使用小结

    2009-09-21 09:06:54
    TryCatch使用小结 TryCatch使用小结 TryCatch使用小结
  • 在使用vue,axios 链式操作时,then之后有catch,如果在catch里又重新调用里methds里面的函数,并且很不辛,你的函数有错,这是就会出现undefined,这时,就需要我们在函数体内部使用try catch。 ...
  • try-catch中的message提示

    千次阅读 2017-06-11 10:59:25
    using System; using System.Collections.Generic;... catch(Exception ex) { MessageBox.Show(ex.Message);//自动显示错误的原因 } } } } 运行结果: 
  • Vue全局异常捕获

    千次阅读 2018-12-25 17:41:00
    之前没注意过这么个小技巧 , 可能在Vue文档里也有 暂时先记下了 方便摘要      Vue全局配置errorHandler可以进行全局错误收集,我们可以根据这个特性对前端异常做这样的处理:业务错误直接写在业务里;代码...
  • try...catch 的使用

    2019-06-25 11:36:42
    为什么要使用try...catch呢? try...catch是用来捕获异常的。 (1)不使用 try .. catch console.log(a); var b = 15; console.log(b); console.log('1288'); 打印结果: 页面会报错,不会继续执行下面的...
  • 销户系统的开发 1.今天发现了我写的 await 函数好像有点问题,异步...try...catch 结构,纯用 await 的结果。 所以如果使用 try...catch 结构,期望出错后能够直接停止函数。需要在原函数内部加上错误处理机制。
  • 当为Daemon线程中的代码,其他非Daemon线程、main已经执行完。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,920
精华内容 10,368
关键字:

catchtryvue

vue 订阅