public function __construct($message = '', $code = 'UNKNOWN', Exception $previous = null)
 {
     $keys = self::getCodeKeys();
     if (in_array($code, $keys)) {
         $code = array_search($code, $keys);
     } else {
         if (isset($keys[$code])) {
             // Ok
         } else {
             if (is_numeric($code)) {
                 $code = (int) $code;
             } else {
                 $code = 0;
             }
         }
     }
     parent::__construct($message, $code, $previous);
 }