[JavaScript基础]学习④⑧--错误处理

var s = null;
var len = s.length; // TypeError:null变量没有length属性
int fd = open("/path/to/file", O_RDONLY);
if (fd == -1) {
    printf("Error when open file!");
} else {
    // TODO
}

try ... catch ... finally

'use strict';
var r1, r2, s = null;
try {
    r1 = s.length; // 此处应产生错误
    r2 = 100; // 该语句不会执行
} catch (e) {
    alert('出错了:' + e);
} finally {
    console.log('finally');
}
console.log('r1 = ' + r1); // r1应为undefined
console.log('r2 = ' + r2); // r2应为undefined
try {
    ...
} catch (e) {
    ...
} finally {
    ...
}
try {
    ...
} catch (e) {
    ...
}
try {
    ...
} finally {
    ...
}

错误类型

Error派生的TypeError、ReferenceError等错误对象

try {
    ...
} catch (e) {
    if (e instanceof TypeError) {
        alert('Type error!');
    } else if (e instanceof Error) {
        alert(e.message);
    } else {
        alert('Error: ' + e);
    }
}

抛出错误

'use strict';
var r, n, s;
try {
    s = prompt('请输入一个数字');
    n = parseInt(s);
    if (isNaN(n)) {
        throw new Error('输入错误');
    }
    // 计算平方:
    r = n * n;
    alert(n + ' * ' + n + ' = ' + r);
} catch (e) {
    alert('出错了:' + e);
}

var n = 0, s;
try {
    n = s.length;
} catch (e) {
    console.log(e);
}
console.log(n);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 在执行JavaScript代码的时候,有些情况下会发生错误。 错误分两种,一种是程序写的逻辑不对,导致代码执行异常...
    八宝君阅读 153评论 0 0
  • try ... catch ... finally 当代码块被try { ... }包裹的时候,就表示这部分代码执...
    _我和你一样阅读 252评论 0 0
  • 程序开发中,编程人员经常要面对的是如何编写代码来响应错误事件的发生,即例外处理(exception handler...
    duJing阅读 1,121评论 0 0
  • 我好像有抑郁症,但是我从来没有和任何人说起过。 这是陈晓楠第三次拿起不知药性的农药瓶子了。但是她踌躇了一会,打开...
    楠花一笑徒伤悲阅读 621评论 0 1