COM exeption

  • Автор темы Автор темы Panchous
  • Дата начала Дата начала

Panchous

Павел
COM exeption

Как можно получить полное описание сгенерированного COM-объектом исключения:
PHP:
try {
     $mycom->Do();
     }
catch (com_exception $e) {
     print "COM exeption: ".$e ."\n";                  
}

Выводит что-то типа:
COM exeption: Object#4

PHP 5.0.2
 
Выдает следующее:
PHP:
COM exeption: Object id #4
object(com_exception)#4 (6) {
  ["message:protected"]=>
  string(95) "<b>Source:</b> ArchiveAccess.Requester.1<br/><b>Description:</b> Ошибка при передаче параметров"
  ["string:private"]=>
  string(0) ""
  ["code:protected"]=>
  int(-2147352567)
  ["file:protected"]=>
  string(27) "...my.php"
  ["line:protected"]=>
  int(43)
  ["trace:private"]=>
  array(1) {
    [0]=>
    array(4) {
      ["file"]=>
      string(27) "...my.php"
      ["line"]=>
      int(12)
      ["function"]=>
      string(12) "showResponse"
      ["args"]=>
      array(1) {
        [0]=>
        object(com)#2 (0) {
        }
      }
    }
  }
}
А как получить, собственно, сообщение?

-~{}~ 01.11.04 16:29:

и на php.net ничего не нашел...
может кто знает?
 
try {
$mycom->Do();
}
catch (com_exception $e) {
print "COM exeption: ". $e->__toString () ."\n";
}

-~{}~ 01.11.04 18:53:

и на php.net ничего не нашел
Не там искал. Это все есть в документации. [m]migration5.oop[/m]
 
Спасибо!
Спасло:
Код:
$e->getMessage()

-~{}~ 03.11.04 08:45:

Вот только само сообщение выглядит примерно так:

<b>Source:</b> MyComLib.MyComClass ........
<b>Description:</b> ошибка такая-то...


А нет ли возможности получить имеено описание (только description без source) ?

Пока не придумал ничего лучше, чем парсить полученное сообщение и вытягивать description оттуда...
 
Use source, Luke! (с) Тони :)
В общем так его генерирует com_exception, поэтому либо хакать исходники, либо юзать "All COM exceptions have a well-defined code property that corresponds to the HRESULT return value from the various COM operations. You may use this code to make programmatic decisions on how to handle the exception." (с) [m]com#com.exceptions[/m]
 
Сверху