1<?php 2 3namespace plugin\struct\meta; 4 5use Exception; 6 7/** 8 * Class StructException 9 * 10 * A translatable exception 11 * 12 * @package plugin\struct\meta 13 */ 14class StructException extends \RuntimeException { 15 16 /** 17 * StructException constructor. 18 * 19 * @param string $message 20 * @param ...string $vars 21 */ 22 public function __construct($message) { 23 /** @var \action_plugin_struct_autoloader $plugin */ 24 $plugin = plugin_load('action', 'struct_autoloader'); 25 $trans = $plugin->getLang('Exception ' . $message); 26 if(!$trans) $trans = $message; 27 28 $args = func_get_args(); 29 array_shift($args); 30 31 $trans = vsprintf($trans, $args); 32 33 parent::__construct($trans, -1, null); 34 } 35} 36