你将如何实现不同类型的错误,这样你就能捕捉到特定错误并让其他人冒出来......?
实现此目的的一种方法是修改Error对象的原型:
Error.prototype.sender = "";
function throwSpecificError()
{
var e = new Error();
e.sender = "specific";
throw e;
}
Run Code Online (Sandbox Code Playgroud)
捕获特定错误:
try
{
throwSpecificError();
}
catch (e)
{
if (e.sender !== "specific") throw e;
// handle specific error
}
Run Code Online (Sandbox Code Playgroud)
你有没有其他选择?
这次我没有任何问题但只是为了好奇我想知道JavaScript中有多少例外.
例如,我使用以下代码:
<script type="text/javascript">
var x;
try{
x = 1 / 0;
alert(x); // output: Infinity. FYI: JavaScript has Infinity property and it's value is 1.7976931348623157E+10308
alert(funCreate());
}
catch(obj)
{
alert(obj.fileName);
alert(obj.lineNumber);
alert(obj.message); // output: funCreate is not defined
alert(obj.name); // output: ReferenceError
alert(obj.stack);
};
</script>
Run Code Online (Sandbox Code Playgroud)
这里,ReferenceError就像一个异常类型.因此,如果它被视为异常类型,那么我们可以按类型处理异常吗?就像我们都用其他编程语言一样.看到链接.
谢谢...