错误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. Python基础——使用with结构打开多个文件

    考虑如下的案例: 同时打开三个文件,文件行数一样,要求实现每个文件依次读取一行,然后输出,我们先来看比较容易想到的写法: with open(filename1, 'rb') as fp1: with ...

  2. 模板:exlucas

    求$C_n^m mod p$,其中p不是质数且不保证p能分解为几个不同质数的乘积(也就是不能用crt合并) #include<iostream> #include<cstdio> ...

  3. SQL2005自动备份,定期删除的维护计划及自动定期清除日志

    作为一名DBA,他们最常见的日常任务是: 1)定期完成数据库的完全备份或差异备份.2)定期清理备份文件,因为存储空间有限,可能只需要保存一个时期段内的文件(比如一周内或一月内). 而如何做到这两点呢? ...

  4. LeetCode简单算法之删除链表中的节点 #237

    闲来无事,刷刷力扣,以解心头之闷. 题目内容: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以 ...

  5. Simple implementation and results of genetic algorithm.

    This experiment was done for the final assignment of my Professional English class. This part has be ...

  6. Leetcode463.Island Perimeter岛屿的周长

    给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...

  7. 整体二分(模板) 求区间第k小

    整体二分,将询问与初值一起放入一个结构体里,然后每次二分判断询问在哪边,树状数组维护,时间复杂度O((n+Q)lognlogMAX_a[i] 代码 #include<iostream> # ...

  8. TZ_03_mybatis的注解开发

    1.一对多的注解开发 1>需求通过查询所有的用户,并且找到该用户的所有账户(使用延迟加载模式) @Select("select * from user") //sql语句查询 ...

  9. USACO 2.1.4

    /* ID: weitong4 LANG: C++ TASK: holstein */ #include<stdio.h> #include<string.h> #define ...

  10. 百度the big talk节目

    主要事件 2015-03-09期:硅谷峰会:智能机器人&对话沃兹尼亚克 2015-03-02期:硅谷峰会:创新金融和智能城市 2015-02-15期:硅谷峰会:数字生物学和数字医药 2015- ...