Joseph Crawford wrote:
Guys,
i have been working with custom exception classes that extend the general exception. Here is some code i have
public function command($cmd) { if($cmd) { $res = fputs($this->connection, $cmd); $this->response = fgets($this->connection, 128); switch($this->getCode()) { case 500: throw new CommandException($cmd); break; } } }
public function selectGroup($group) { $this->group = $group; if(substr($this->response,0,3) == "200") {
THIS IS THE LINE THAT THROWS THE ERROR $this->command("NoSuchCommand\n");
$this->response = fgets($this->connection, 1024); } $info = split(" ", $this->response);
$this->first = $info[2]; $this->last = $info[3]; }
now when the error is thrown and i do $e->getLine(); it shows the line of the file where the throw statement is. Is there a way to make it show the actual line number of the line that is the error? the $this->command("NoSuchCommand\n"); line.
one way to do this is to call $e->getTraceAsString() and then log/print the result. It will return whole call stack. But this is kind of overkill.
another way:
public function selectGroup($group) { $this->group = $group; if(substr($this->response,0,3) == "200") {
THIS IS THE LINE THAT THROWS THE ERROR try { $this->command("NoSuchCommand\n"); } catch (CommandException $e) { throw new CommandException($e->getCmd_or_whatever_returns_cmd()) }
$this->response = fgets($this->connection, 1024); } $info = split(" ", $this->response);
$this->first = $info[2]; $this->last = $info[3]; }
-- Ognyan Bankov ogre_bank@xxxxxxxxx ogre.homelinux.org
-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php