From 45aebd2a10bc4edfc360e3522fc8101ad1324b9b Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 16 Dec 2020 20:17:59 +0900 Subject: [PATCH] basic: exponentiation to raise correct errors --- assets/basic.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/assets/basic.js b/assets/basic.js index 7f5d9b4..4af3a43 100644 --- a/assets/basic.js +++ b/assets/basic.js @@ -687,7 +687,12 @@ if no arg text were given (e.g. "10 NEXT"), args will have zero length }); }, "^" : function(lnum, stmtnum, args) { - return twoArgNum(lnum, stmtnum, args, (lh,rh) => Math.pow(lh, rh)); + return twoArgNum(lnum, stmtnum, args, (lh,rh) => { + let r = Math.pow(lh, rh); + if (isNaN(r)) throw lang.badFunctionCallFormat(); + if (!isFinite(r)) throw lang.divByZero; + return r; + }); }, "TO" : function(lnum, stmtnum, args) { return twoArgNum(lnum, stmtnum, args, (from, to) => new ForGen(from, to, 1));