我想捕获当我尝试使用Neo4jClient.dll连接到我的neo4j数据库时发生的异常。如果数据库处于脱机状态,我会收到以下错误:"类型' System.AggregateException'发生在mscorlib.dll中但未在用户代码中处理。"我永远无法抓住我的抓地力。
这是我的代码:
class Neo4JConnector
{
private static GraphClient client = null;
public Neo4JConnector(IniConfigSource configSource)
{
if (client == null)
{
client = new GraphClient(new Uri(configSource.Configs["Configuration"].Get("Neo4jUrl")));
try
{
client.Connect();
}
catch (Exception ex)
{
Console.WriteLine("Cannot connect"); // never reached :(
}
然后我尝试使用" extern"使用此代码的修饰符:
class Neo4JConnector
{
private static GraphClient client = null;
[DllImport("Neo4jClient.dll", EntryPoint="Connect")]
static extern void Connect();
public Neo4JConnector(IniConfigSource configSource)
{
if (client == null)
{
client = new GraphClient(new Uri(configSource.Configs["Configuration"].Get("Neo4jUrl")));
try
{
Connect();
}
catch (Exception ex)
{
Console.WriteLine("Cannot connect");
}
}
但我得到的是一个异常,说" [System.EntryPointNotFoundException] = {"无法找到一个名为' Connect'在DLL' Neo4jClient.dll'。":""}"
这是签名在Neo4jClient.dll
中的样子public virtual void Connect();
我的代码出了什么问题?是否有更好的方法来捕获外部异常?请帮忙:(
答案 0 :(得分:0)
根据GitHub repo,"Neo4jClient.dll"
是一个.NET程序集。您只需从项目中添加对它的引用并使用方法。
以下是一个例子:
using Neo4jClient;
...
var client = new GraphClient(new Uri("http://localhost:7474/db/data"));
client.Connect();