diff options
author | Alexander Kiryukhin <alexander@kiryukhin.su> | 2018-09-06 20:41:20 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-06 20:41:20 +0300 |
commit | 2a629d37dda54f8a8d559473a5167b512910f75b (patch) | |
tree | 954c50f2644212742442e0027efb081620d2a109 | |
parent | aa1a092a9e231e8f923ab40365dff092c2908903 (diff) | |
parent | 7b657db13f0b76432ca0039e45f4b8f5e09879c2 (diff) |
Merge pull request #27 from NeonXP/devv0.3
Dev
-rw-r--r-- | src/NXP/Classes/Calculator.php | 2 | ||||
-rw-r--r-- | src/NXP/Classes/TokenFactory.php | 6 | ||||
-rw-r--r-- | src/NXP/MathExecutor.php | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/NXP/Classes/Calculator.php b/src/NXP/Classes/Calculator.php index 41e0d9f..b584d69 100644 --- a/src/NXP/Classes/Calculator.php +++ b/src/NXP/Classes/Calculator.php @@ -40,7 +40,7 @@ class Calculator if ($token instanceof TokenVariable) { $variable = $token->getValue(); if (!array_key_exists($variable, $variables)) { - throw new UnknownVariableException(); + throw new UnknownVariableException($variable); } $value = $variables[$variable]; array_push($stack, new TokenNumber($value)); diff --git a/src/NXP/Classes/TokenFactory.php b/src/NXP/Classes/TokenFactory.php index 2b1e00e..85c4a62 100644 --- a/src/NXP/Classes/TokenFactory.php +++ b/src/NXP/Classes/TokenFactory.php @@ -73,7 +73,7 @@ class TokenFactory $class = new \ReflectionClass($operatorClass); if (!in_array('NXP\Classes\Token\InterfaceToken', $class->getInterfaceNames())) { - throw new UnknownOperatorException; + throw new UnknownOperatorException($operatorClass); } $this->operators[] = $operatorClass; @@ -162,10 +162,10 @@ class TokenFactory if (isset($this->functions[$token])) { return new TokenFunction($this->functions[$token]); } else { - throw new UnknownFunctionException(); + throw new UnknownFunctionException($token); } } - throw new UnknownTokenException(); + throw new UnknownTokenException($token); } } diff --git a/src/NXP/MathExecutor.php b/src/NXP/MathExecutor.php index 9e7ce25..c5c7add 100644 --- a/src/NXP/MathExecutor.php +++ b/src/NXP/MathExecutor.php @@ -91,6 +91,10 @@ class MathExecutor */ public function setVar($variable, $value) { + if (!is_numeric($value)) { + throw new \Exception("Variable ({$variable}) value must be a number ({$value}) type ({gettype($value)})"); + } + $this->variables[$variable] = $value; return $this; |