diff --git a/src/Filter/NumberFormat.php b/src/Filter/NumberFormat.php index 48b40ed5..fc26ece3 100644 --- a/src/Filter/NumberFormat.php +++ b/src/Filter/NumberFormat.php @@ -13,6 +13,7 @@ use NumberFormatter; use Traversable; use Zend\I18n\Exception; +use Zend\Stdlib\ErrorHandler; class NumberFormat extends AbstractLocale { @@ -143,10 +144,14 @@ public function filter($value) $type = $this->getType(); if (is_int($value) || is_float($value)) { - $result = @numfmt_format($formatter, $value, $type); + ErrorHandler::start(); + $result = $formatter->format($value, $type); + ErrorHandler::stop(); } else { $value = str_replace(array("\xC2\xA0", ' '), '', $value); - $result = @numfmt_parse($formatter, $value, $type); + ErrorHandler::start(); + $result = $formatter->parse($value, $type); + ErrorHandler::stop(); } if ($result === false) { diff --git a/src/Translator/Loader/Gettext.php b/src/Translator/Loader/Gettext.php index c1c3cf9d..61b0f05a 100644 --- a/src/Translator/Loader/Gettext.php +++ b/src/Translator/Loader/Gettext.php @@ -13,6 +13,7 @@ use Zend\I18n\Exception; use Zend\I18n\Translator\Plural\Rule as PluralRule; use Zend\I18n\Translator\TextDomain; +use Zend\Stdlib\ErrorHandler; /** * Gettext loader. @@ -57,7 +58,15 @@ public function load($filename, $locale) $textDomain = new TextDomain(); - $this->file = @fopen($filename, 'rb'); + ErrorHandler::start(); + $this->file = fopen($filename, 'rb'); + $error = ErrorHandler::stop(); + if (false === $this->file) { + throw new Exception\InvalidArgumentException(sprintf( + 'Could not open file %s for reading', + $filename + ), 0, $error); + } // Verify magic number $magic = fread($this->file, 4);