[PHPTAL] Fatal error: Exception thrown without a stack frame in
Unknown on line 0
Rick Hopkins
rick.hopkins at gmail.com
Mon Mar 3 18:50:39 CET 2008
I am working on a new MVC based system and have been utilizing PHPTAL
for the interface side of things. I am running into a problem though
when I try to catch exceptions. I have labeled my new framework
"Melodic". I have a static class called "MelodicException" which should
catch all the exceptions and process them. I have set_exception_handler
so that it will pass everything into MelodicException. So anyway I keep
getting the message below in my exception handler.
Fatal error: Exception thrown without a stack frame in Unknown on line 0
Here is the exception handler code...
<?php
/**
* @name MelodicException
* The default exception handling class for the Melodic Framework
* @author Rick Hopkins
* @package Melodic
*/
class MelodicException
{
/**
* Initialize Melodic's customized Exception handler
* @param object $_e
*/
static function exception(Exception $_e)
{
if (LOG_ERRORS) Core::log(get_class($_e)." Caught. Message:
".$_e->getMessage()." | File: ".$_e->getFile().":".$_e->getLine(), LOG_ERR);
if (NOTIFY_ADMINS) Core::notify(get_class($_e)." Caught", "Message:
".$_e->getMessage()."\nFile:
".$_e->getFile().":".$_e->getLine()."\nTime: ".date("Y-m-d
H:i:s")."\n----------\nStackTrace:\n".$_e->getTraceAsString());
if (SHOW_ERRORS){
$_message = "<pre>".$_e->getMessage()."\nFile: ".$_e->getFile()."
(Line:".$_e->getLine().")\n----------\nStack
Trace:\n".$_e->getTraceAsString()."</pre>";
if (PAGE_ERRORS && TEMPLATE_DIR){
$_template = new PHPTAL(TEMPLATE_DIR.PAGE_ERRORS);
$_template->set("TEMPLATE_DIR", TEMPLATE_DIR);
$_template->set("ERROR_DETAILS", $_message);
echo $_template->execute();
} else print $_message;
}
}
/**
* Handle php errors
* @param int $_no
* @param string $_str
* @param string $_file
* @param int $_line
*/
static function error($_no, $_str, $_file, $_line)
{
$_types = array(
1 => "E_ERROR",
2 => "E_WARNING",
4 => "E_PARSE",
8 => "E_NOTICE",
16 => "E_CORE_ERROR",
32 => "E_CORE_WARNING",
64 => "E_COMPILE_ERROR",
128 => "E_COMPILE_WARNING",
256 => "E_USER_ERROR",
512 => "E_USER_WARNING",
1024 => "E_USER_NOTICE",
6143 => "E_ALL",
2048 => "E_STRICT",
4096 => "E_RECOVERABLE_ERROR"
);
throw new Exception($_types[$_no]." Caught: ".$_str." in ".$_file." on
line ".$_line);
}
}
?>
It is dying on the actual execute call. Can't figure out why. Any help
would be greatly appreciated.
--
Rick Hopkins
616.340.9645
More information about the PHPTAL
mailing list