Javascript高級プログラムの設計を見直して、第17章:エラー処理とデバッグ
2626 ワード
// :
// try{
// //
// window.someNonexistentFunction()
// }catch(error){
// //
// console.log(error.message)
// }
// function a(){
// try{
// return 2
// }catch(err){
// return 1
// }finally{
// return 0
// }
// }
// console.log(a()) //0
//
// Error , 。 , ,
// EvalError eval() . eval . eval . eval . :
//new eval()
//eval = foo
// RangeError , : , , 。 :
// var i1 = new Array(-20)
// var i2 = new Array(Number.MAX_VALUE)
// ReferenceError , , , :
// var obj = x;
// SyntaxError Javascript eval , , :
//eval('a ++ b')
// TypeError js , , , . , , , :
// var o = new 10;
// console.log("name" in true)
// Function.prototype.toString.call("name")
// , .
// URIError encodeURI decodeURI, URI URIError
// , :
try{
someFunction()
}catch(err){
if(err instanceof TypeError){
//
console.log('1')
}else if(err instanceof ReferenceError){
//
console.log('2')
}else{
//
console.log('3')
}
}
// throw , . try-catch ,
// throw 12345
// throw new Error(" ")
// throw new URIError('12321312')
// name message
// function n(message){
// this.name = ' '
// this.message = message
// }
// n.prototype = new Error()
// throw new n(' ')
//
//
// function process(val){
// if(!(val instanceof Array)){
// throw new Error("process(): " )
// }
// val.sort()
// for(var i = 0,len = val.length;i 100){
// return val[i]
// }
// }
// return -1
// }
// process(['1','2'])
function g(url){
var pos = url.indexOf('?')
if(pos > -1){
return url.substring(pos + 1)
}
return ''
}
console.log(g('awsdadwdada?asd'))
console.log(['1'] instanceof Array)
//JS :
//
//
//