javascript如何手动抛出错误?
前言
在javascript中通常使用throw语句
抛出错误,throw
语句用于抛出一个用户自定义的错误。
例如:抛出了一个值为字符串的错误
throw 'abc';
例如:抛出了一个错误对象
throw new Error('abc');
throw语句
throw
语句用于抛出一个用户自定义的错误。当程序执行throw
语句时,之后的语句将不会执行,如果调用者函数中没有catch
块,程序将会终止。
所以throw
语句常常和try…catch…finally
语句一起使用。
try…catch…finally
语句用于处理代码中可能出现的错误信息。
try…catch…finally用法
try语句,执行可能发生错误的代码块。
catch 语句,当 try 代码块发生错误时,所执行的代码块。
finally 语句在 try 和 catch 之后无论有无异常都会执行。
try {//需要运行的代码}catch (err) {//捕获错误代码}finally{//无论try和catch的结果如何,都正常执行的代码}
ps:catch 和 finally 语句不是必须的,但一条 try 语句中至少使用一个catch 或 finally 语句。
结合try…catch…finally
语句使用throw
语句抛错。
try {console.log(a);}catch (err) {throw err;}console.log("我正常执行了");
console.error()
在 js 中使用 console.error(),也可以抛出错误信息;
例如:
console.error("我是一条错误信息");
既然console.error()
也可以抛出错误信息,为什么大家通常使用throw
抛错呢!
throw 和console.error有什么区别?
throw 和console.error的区别
throw
语句会在在控制台打印错误信息并停止程序的运行;
console.error()
方法,只是在控制台打印一条红色消息,并影响程序的运行;
所以,这也解释了大家往往会用throw
而不是 console.error()
的原因了,因为此时程序已经发生错误了,再继续执行也只能是错上加上错。
本文到此结束
如果大家还有什么其他想法,欢迎在评论区交流!
javascript如何手动抛出错误?相关推荐
- js手动抛错_javascript如何抛出错误?
程序的非正常运行状态被称为"异常"或"错误",解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信息. ECMAScript 定义了六种类型 ...
- 应该手动抛出什么异常?RuntimeException?
Java程序员应该手动抛出什么异常?不能抛出RuntimeException吧? 收藏帖子 回复 秦三行 结帖率 96.88% if(sectionCodeT!=null && !&q ...
- linux的android工作室,Android工作室在启动时抛出错误,linux机器
我只是将我的Android Studio从1.5升级到2.3,我只是解压缩文件夹并复制到下载文件夹中,现在当我启动android studio时,我收到了此消息:Android工作室在启动时抛出错误, ...
- koa --- 使用中间件多层级抛出错误
说明 能够熟练的掌握错误的抛出,可以在一定程度上提高代码的开发效率和可读性 构造错误 本栗采用调用一个不存在的函数来抛出错误 const Koa = require('koa'); const app ...
- 抛出错误_不用try catch,如何机智的捕获错误
这是多个feature组合使用后实现的神奇效果,在React源码中被广泛使用. 当我读源码看到这里时,心情经历了: 懵逼 -- 困惑 -- 沉思 -- 查文档 -- 豁然开朗 看完此文,相信你也会发出 ...
- java执行python提示import os找不到_java利用Jython调用python抛出错误ImportError: No module named odbchelper...
Python代码: import odbchelper def add(x, y): """ add method """ return x ...
- swift 抛出错误_Swift错误处理– Swift尝试,捕捉,抛出
swift 抛出错误 Swift error handling is a very important aspect of writing better code. Swift try stateme ...
- 当你的Python代码抛出错误,首先应该看这里!
点击关注我哦 欢迎关注 "小白玩转Python",发现更多 "有趣" 当你写了一段漂亮的代码,却发现到它并不像你预期的那样工作时,那得是多么的沮丧.这时候就需要 ...
- MATLAB Appdesigner开发独立桌面App全流程(二):以实时时间显示为例介绍Timer和StartupFcn的使用以及try catch抛出错误
1.以实时显示时间为例简单介绍Timer的使用 根据目前所了解到的资料,MATLAB调用多线程较为麻烦,并且类似parfor等语法只适用于大规模运算,而不适合两个独立的.需要并行的任务.这时,我们就需 ...
最新文章
- Nature子刊:利用转细菌基因植物修复土壤有毒污染物!
- 【10】青龙面板之JD ck 获取的1种办法
- 装python对电脑有什么影响-你知道:重装系统对电脑有什么影响吗?会损坏电脑吗?...
- java 计算小费_java-以某些形状显示数字
- .NET Core中间件与依赖注入的一些思考
- P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)
- TDMA 时分多路复用
- Android开发笔记(一百五十九)Android7.0的分屏模式
- 只要赚钱的项目,很容易沦为资本的标的
- 乐视android版本怎么升级,乐视网android手机客户端升级推出V2.0版
- 轻芒 CEO 王俊煜:高品质内容是核心,小程序是它的最好载体
- 微软下周将发布重磅安全公告 修复40个漏洞
- eclipse maven配置_Maven系列教材 (十一)- 使用Eclipse导入一个Maven风格的SSM项目
- js模拟ps吸管吸取颜色功能
- Mac安装Consolas字体最简单的方法
- A4排成A3双面打印怎么操作
- ibm刀片服务器系统瘫痪,ibm刀片服务器系统安装资料
- 三峡大学本科毕业论文答辩PPT模板
- 计算机设置密码打印机无法共享,win7设置开机密码后无法连接共享打印机
- 一篇文章彻底搞懂JVM常见垃圾收集器算法、常见收集器、CMS三色标记等(深度剖析)
热门文章
- VMWare安装Linux操作系统找不到IP地址
- windows event与linux,相当于Win32的CreateEvent,SetEvent,WaitForSingleObject的Linux / POSIX
- 题目22:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出 三队赛手的名单。
- wireshark捕获IP分片数据包实践
- 常见的加密算法有哪些?
- 数字电视芯片启动流程
- hdu 3308 LCIS(区间合并)
- eclipse paho java_MQTT研究之EMQ:【eclipse的paho之java客户端使用注意事项】
- Git- 连接远程仓库
- 天时测试软件制冷量计算,热平衡法测试