Javascript 错误处理之抛出自定义错误

学习了Javascript的错误处理,哪么我们如何抛出自定义的错误呢?下面就来看看吧~~嘿嘿~~

//抛出自定义异常
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);
}
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页