2016-08-02 39 views
0

Ich benutze Postgresql + Neo4j für mein Projekt. Ich muss postgres Abfragen zurücksetzen, wenn neo4j Abfrage fehlgeschlagen ist. Also, ich muss Neo4jException in meinem Code fangen. Aber konnte noch nicht getan werden. Danke für die Hilfe.Graphaware neo4j-php-client | Kann nicht fangen 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'); 
    } 

Dies ist mein Arbeitscode. Aber wie Sie sehen können, habe ich keinen catch-Block, um neo4j Ausnahme zu fangen. Also habe ich das hinzugefügt, aber kein Glück. habe auch mitNeo4jExceptionInterface als Ausnahmeklasse versucht (verzweifelte Zeiten). (BTW verwende ich falsch eingegebene Abfrage, um eine Ausnahme zu erhalten)

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

Auch versucht, dies ohne Glück auch zu tun.

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

Antwort

1

ich gerade getestet und ich habe keine Probleme, eine Ausnahme zu kontrollieren, können Sie vielleicht mehr Code zur Verfügung stellen, was in neoconnect.php zum Beispiel?

Dies ist mein Test:

$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()); 
} 

-

[email protected] ~/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" 
^"⏎ 
+0

neoconnect hat diese: require_once 'Verkäufer/autoload.php'; Verwenden Sie GraphAware \ Neo4j \ Client \ ClientBuilder; $ client = ClientBuilder :: create() -> addConnection ('Standard', 'http: // neo4j: passw @ localhost: 7474') -> build(); –

+0

Ich versuchte mit so: \ GraphAware \ Neo4j \ Client \ Exception \ Neo4jException $ e kann immer noch nicht fangen –

+0

Hallo, Christophe Ich habe eine Frage zu einem schwerwiegenden Fehler Problem, das ich mit Graphaware bekomme. können Sie es bitte hier überprüfen: https://stackoverflow.com/questions/46601351/fatal-error-uncaught-error-using-graphaware-for-php –