//抛出自定义异常
function divide1 (iNum1, iNum2) {
try{
if(arguments.length != 2) {
throw new Error("divide() requires two arguments.");
} else if (typeof(iNum1) != "number" || typeof(iNum2) != "number") {
throw new Error("divide() requires two numbers for arguments.");
}
return iNum1.valueOf() / iNum2.valueOf();
} catch (e) {
alert(e.message);
return -1;
}
}
//模拟assert
function assert(bCondition, sErrorMessage){
if(bCondition) {
throw new Error(sErrorMessage);
}
}
function divide2 (iNum1, iNum2) {
try{
assert(arguments.length != 2, "divide() requires two arguments.");
assert(typeof(iNum1) != "number" || typeof(iNum2) != "number", "divide() requires two numbers for arguments.");
assert(iNum2.valueOf() == 0, "divisor can not be zero.");
return iNum1.valueOf() / iNum2.valueOf();
} catch (e) {
alert(e.message);
return -1;
}
}
window.οnlοad=function(){
divide1("a","a");
divide2(2,0);
}
//抛出自定义异常
function divide1 (iNum1, iNum2) {
try{
if(arguments.length != 2) {
throw new Error("divide() requires two arguments.");
} else if (typeof(iNum1) != "number" || typeof(iNum2) != "number") {
throw new Error("divide() requires two numbers for arguments.");
}
return iNum1.valueOf() / iNum2.valueOf();
} catch (e) {
alert(e.message);
return -1;
}
}
//模拟assert
function assert(bCondition, sErrorMessage){
if(bCondition) {
throw new Error(sErrorMessage);
}
}
function divide2 (iNum1, iNum2) {
try{
assert(arguments.length != 2, "divide() requires two arguments.");
assert(typeof(iNum1) != "number" || typeof(iNum2) != "number", "divide() requires two numbers for arguments.");
assert(iNum2.valueOf() == 0, "divisor can not be zero.");
return iNum1.valueOf() / iNum2.valueOf();
} catch (e) {
alert(e.message);
return -1;
}
}
window.οnlοad=function(){
divide1("a","a");
divide2(2,0);
}
Javascript错误处理之抛出自定义错误
最新推荐文章于 2024-01-28 09:00:00 发布