错误bug是指程序执行过程中,导致程序无法正常执行的情况。

后果:程序会强行中断退出;

    错误处理:
                即使程序出现错误,也保证程序不异常中断的机制

一般的使用的代码如下:

try{//始终执行
            //可能出现的代码

}catch(err){//只有发生错误时才执行;
                         出错时执行的错误处理代码-----通知用户,记录日志,保存进度。
                         err:错误对象,
}
   finally{//无论是否出错,都必须执行的代码----一般用于释放资源。

但是这会导致一个问题,就是放在try catch中的代码,执行效率会降低。

解决方式:
          1.尽量少的将代码放入try catch
          2.如果可提前预知错误原因,可用if else语句来做判断。提前预防错误。

 var num = +prompt('请输入一个数字'),
d = +prompt('输入一个小数位数'); try {
var result = num.toFixed(d);
alert(result);
}catch(err){
alert('出错了');
console.log(String(err));
}
finally {
console.log('释放资源');
num = null;d =null;
}
document.write('程序继续执行....')

改善如下:

  if(d>=0&&d<=20){
var result = num.toFixed(d);
alert(result); }else{
alert('出错了');
console.log('111111111');
}
document.write('程序继续执行....')

抛出自定义异常

 throw new Error(‘错误信息’);

Js中错误对象的类型:——6种
(要经常总结错误的类型,然后在博客中写出)
SyntaxError:语法错误,程序的语法写错了
ReferenceError:引用错误,要用的变量没找到
TypeError:类型错误,错误的使用对象的类型
比如:对非数组使用[];对非函数使用();对null/undefined使用.xxx;要调用的函数,对象中没有:console.write
RangeError:范围错误,参数超范围;
比如:toFixed(d) d:0-20之间,如果写-2,就出错。
URIerror,EvelError;

js中错误处理的相关知识的更多相关文章

  1. js中函数的一些理论知识

      函数的一些理论知识 1. 函数:                执行一个明确的动作并提供一个返回值的独立代码块.同时函数也是javascript中的一级公民(就是函数和其它变量一样). 2.函数的 ...

  2. 《Python网络编程》学习笔记--从例子中收获的计算机网络相关知识

    从之前笔记的四个程序中(http://www.cnblogs.com/take-fetter/p/8278864.html),我们可以看出分别使用了谷歌地理编码API(对URL表示地理信息查询和如何获 ...

  3. js中错误处理机制

    1.基本知识 1. 错误对象 Error,SyntaxError,RangeError, ReferenceError,TypeError,URIError 上面的都是构造函数: new 命令可以生成 ...

  4. js中闭包和对象相关知识点

    学习js时候,读到几篇不错的博客.http://www.cnblogs.com/yexiaochai/p/3802681.html一,作用域 和C.C++.Java 等常见语言不同,JavaScrip ...

  5. C语言中预处理器的相关知识:

    预处理过程时,会做以下事情或着更多: 将所有的#define删除,并且展开所有的宏定义: 处理所有条件编译指令,如#if,#ifdef等: 处理#include预编译指令,将被包含的文件插入到该预编译 ...

  6. centos7中的网卡名称相关知识

    转载自https://www.cnblogs.com/zyd112/p/8143464.html 一致性网络设备命名(Consistent Network Device Naming) 背景介绍: 在 ...

  7. 学习一下 JVM (二) -- 学习一下 JVM 中对象、String 相关知识

    一.JDK 8 版本下 JVM 对象的分配.布局.访问(简单了解下) 1.对象的创建过程 (1)前言 Java 是一门面向对象的编程语言,程序运行过程中在任意时刻都可能有对象被创建.开发中常用 new ...

  8. java中String类型的相关知识

    String类方法整理说明: ·Length()用来求字符串的长度,返回值为字符串的长度: ·charAt()取该字符串某个位置的字符,从0开始,为char类型: ·getChars()将这个字符串中 ...

  9. 第11天:JS中变量、字符串基础知识

    一.js简介用来制作页面交互效果,提高用户体验. js页面效果:轮播图.选项卡.地图.表单验证javascript是弱变量类型的语言,变量只需要用var来声明.而java要根据变 量类型来声明, in ...

随机推荐

  1. [转]绑定到异步的ObservableCollection

    在进行WPF开发过程中,需要从一个新的线程中操作ObservableCollection,结果程序抛出一个NotSupportedException的错误: This type of Collecti ...

  2. [HEOI2016/TJOI2016]排序 线段树+二分

    [HEOI2016/TJOI2016]排序 内存限制:256 MiB 时间限制:6000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 在2016年,佳媛姐姐喜欢上了数字序列.因而 ...

  3. C++与Matlab混合编程之:矩阵数据结构

    项目需要将matlab代码写成C++,准备用opencv.opencv中矩阵的存储与matlab有所不同,应注意以下问题: 1.matlab中矩阵是按照列优先存储的.对于n0*n1*...*nn维的矩 ...

  4. MATLAB技巧—sort和sortrows函数

    MATLAB技巧-sort和sortrows函数 1.sort函数 sort函数用于对数据进行排序,通过help sort命令,可以查找到sort函数的具体用法: Y = SORT(X,DIM,MOD ...

  5. Python爬虫笔记【一】模拟用户访问之提交表单登入—第二次(7)

    在第一次登入时遇到这个问题,页面验证码与下载下来需要识别的验证码不同的问题,从网上查寻说是叫验证码同步问题.发现是用cookie解决的,那次cookie介绍到通过cookie就可以实现时间戳同步问题, ...

  6. C++stl中vector的几种常用构造方法

    #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #i ...

  7. bzoj 1266 [AHOI2006] 上学路线

    传送门 传说中的经典容斥+卢卡斯定理+中国剩余定理 题解传送门 //Achen #include<algorithm> #include<iostream> #include& ...

  8. vim 简明教程(转自飘过的小牛)

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  9. JS---案例:无刷新评论---属于创建对象的案例拿出来复习

    案例:无刷新评论---属于创建对象的案例拿出来复习 创建行和单元格,添加到相应元素中,设置内容 createElement, appendChild,innerHTML <!DOCTYPE ht ...

  10. css3 实现明信片正背面翻转

    <!DOCTYPE html> <html lang="zh-cn" style="width: 100%;height: 100%;"> ...