Графическое программное обеспечение neo4j-php-client | Не удается поймать Neo4jException

Я использую Postgresql + Neo4j для своего проекта. Мне нужно откатить запросы postgres, если запрос neo4j не удался. Итак, мне нужно поймать Neo4jException в моем коде. Но пока не могу. Спасибо за помощь.

    require_once('pgconnect.php');

    try{

        $conn->beginTransaction();
        //some pgsql code
        $conn->commit();
        require_once('neoconnect.php');
        $result = $client->run("a query");
        $conn = null;

    }
    catch(PDOException $e){
        require_once('pgrollback.php');
    }

это мой рабочий код. Но, как вы видите, у меня нет блока catch, чтобы поймать исключение neo4j. Я добавил это, но не повезло. также пытался с Neo4jExceptionInterface в качестве класса исключения (отчаянные времена). (Кстати, я использую неправильно набранный запрос, чтобы получить исключение)

   catch(Neo4jException $ex){
        //done smth
    }

Также пытался сделать это без удачи тоже.

$client->run("a query") or throw new Neo4jException();

1 ответ

Я только что проверил, и у меня нет проблем с обнаружением исключения, можете ли вы предоставить больше кода, что в neoconnect.php например?

Это мой тест:

$client = ClientBuilder::create()
        ->addConnection('default', 'http://localhost:7474')
        ->build();

$query = 'INVALID QUERY';

try {
    $result = $client->run($query);
} catch (\GraphAware\Neo4j\Client\Exception\Neo4jException $e) {
    echo sprintf('Catched exception, message is "%s"', $e->getMessage());
}

-

ikwattro@graphaware ~/d/g/p/neo4j-php-client> php test.php
Catched exception, message is "Invalid input 'I': expected <init> (line 1, column 1 (offset: 0))
"INVALID QUERY"
 ^"⏎
Другие вопросы по тегам