function MultiplicatorUnitFailure() {}
function primitiveMultiply(a, b) {
if (Math.random() < 0.5)
return a * b;
else
throw new MultiplicatorUnitFailure();
}
function reliableMultiply(a, b) {
var x;
try {x = primitiveMultiply(a, b);}
catch(error){
if (error instanceof MultiplicatorUnitFailure)
x = primitiveMultiply(a,b);
else
throw error;
}
return x;
}
大家好!刚刚完成了关于表达式的雄辩的javascript章节。给出了错误的函数原语Multiple,它返回参数a和b的有效乘法的一半时间,另一半抛出类型为MultiplicatorUnitFailure的异常,这是一个自定义构建的异常。我被要求通过调用原语乘法正确地在100%的时间内正确地生成多个乘法2数a和b,直到它没有给我一个MultiplicatorUnitFailure错误。如果它抛出任何其他错误我会放弃并抛出该错误。我填写了我的代码但有时在我的控制台中获取[object Object]。为什么呢?