Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hlegius

Erro ao lançar exceção

Recommended Posts

Salve povo!

 

Estava começando a brincar com PHP5 OO, quando quis lançar uma exceção em caso de erro, porém ao executar retornou isto

Fatal error: Uncaught exception 'semParametro' with message 'O parametro do template é necessário!' in /www/public_html/hlegius/arch/configura.class.php:40 Stack trace: #0 /www/public_html/hlegius/sistema/home.php(23): Configura->caminho_smarty('') #1 {main} thrown in /www/public_html/hlegius/arch/configura.class.php on line 40

Eis o código

 

<?phpdefine("arquivo_configuracao", "../config.xml");class semParametro extends Exception {}class Configura {	private $cnf = arquivo_configuracao;	private $cnf_file;	public	 $smarty_templates;	public	 $smarty_config;	public	 $smarty_compile;	public	 $smarty_cache;			/**	  *	Quando essa classe for instanciada	  *	esse método será chamado junto!	  */	function __construct() {		$this->cnf_file = simpleXML_load_file($this->cnf);	}			/** 	 *	Retorna informações sobre PATH para o correto funcionamento do Smarty 	 *	 *	@param unknown_type $diretorio	 */	function caminho_smarty($diretorio) {		if(empty($diretorio)) {			throw new semParametro("O parametro do template é necessário!");		}		$this->smarty_templates  = $this->cnf_file->diretorios[0]->servidor."/template/";		$this->smarty_templates .= $this->cnf_file->diretorios[0]->templatePadrao."/".$diretorio;				return $this->smarty_templates;	}}		?>
No caso eu chamei em outro arquivo o método: $class->caminho_smarty() sem passar parametros.

Já pesquisei, porém não encontrei nada sobre.

 

Alguém tem idéia do que possa ser ?

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim ó

function caminho_smarty($diretorio) {		try 		{		if(empty($diretorio)) 		{			throw new semParametro("O parametro do template é necessário!");		}		$this->smarty_templates  = $this->cnf_file->diretorios[0]->servidor."/template/";		$this->smarty_templates .= $this->cnf_file->diretorios[0]->templatePadrao."/".$diretorio;	   }		catch(semParametro $e)		{				print $e->getMessage();		}				return $this->smarty_templates;	}

Bom, se voce quiser retornar uma Exceção, espero que essa classe semParametro seja uma classe filha da classe nativa Exception

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.