//抛出自定义异常
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.onload=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.onload=function(){
divide1("a","a");
divide2(2,0);
}
Javascript错误处理之抛出自定义错误
最新推荐文章于 2025-01-21 10:03:32 发布
本文介绍了一种使用JavaScript实现自定义异常的方法,并通过两个示例函数演示了如何进行参数验证及错误处理。通过这种方式可以确保代码的健壮性和易维护性。
1369

被折叠的 条评论
为什么被折叠?



