// synataxError 语法错误
// EvalError Eval错误
// TypeError:错误的使用了类型或对象的方法时
// URIError:URI错误
// Uncaught ReferenceError 引用错误
// 应用一个不存在的变量,函数。。。的时候
// Uncaught RangerError: 范围错误
// 是当一个超出有效范围时发生的错误,主要以下情况
// 1. 数组长度为负数
// 2. number 对象的方法使用出现错误
// 3.内容溢出
手动判断抛出条件
var error = new Error('jjsadsadidsaasud')
throw(error) // 抛出错误
// 错误可以阻止下面代码的运行
try方式
// try{
// // 这里一般写的是正常执行的代码
// }catch(e){
// //只有发生错误才执行
// // 捕获错误
// // 捕获try中所有的错误
// // e 错误对象
// // 错误类型; 提示信息...
// }finally{
// // 一定执行,不管有没有错误
// }
操作案例
function alice(arr, begin, end) {
if (arguments.length < 2) {
throw new Error('arguments of length is two')
}
if (!Array.isArray(arr)) {
throw new Error('parms1 must be array')
}
if (typeof begin !== 'number') {
throw new Error('parms2 must be Number')
}
if (typeof end !== 'undefined') {
if (typeof end == 'number') {
throw new Error('parms3 must be Number or undefined')
}
}
var res = []
for (var i = 0; i < arr.length; i++) {
if (i >= begin && i < end) {
res.push(arr[i])
}
if (i >= begin && end === undefined) {
res.push(arr[i])
}
}
return res
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(alice(arr, 3));