6

DLLImportを使用して、C#アプリケーションからGhostScriptライブラリを呼び出しています。

だから私はこのようなコードを持っています、

[DllImport("gsdll32.dll", EntryPoint = "gsapi_init_with_args")]
private static extern int gsapi_init_with_args(IntPtr instance, int argc, IntPtr argv);

try 
{ 
    intReturn = gsapi_init_with_args(intGSInstanceHandle, intElementCount, intptrArgs); 
}
catch (Exception ex)
{
    throw new ApplicationException(ex.Message, ex);
}

CまたはC++で記述されたGhostScriptソースコードを見ていきますが、一般的に、GhostScriptコードが未処理の例外をスローした場合はどうなるのでしょうか。それはそこでの漁獲量によって捕らえられるのでしょうか、それともこのように見える必要があるのでしょうか、

catch
{
    // blah
}
4

1 に答える 1

1

例外はスローされません。リターンコードを確認する必要があります。 http://pages.cs.wisc.edu/~ghost/doc/AFPL/7.04/API.htm#return_codes

Cプログラミングのかなり標準的な方法で、エラーの場合はゼロ以外のコードを返し、エラーの詳細を取得するために2番目のAPI呼び出しが続く場合があります。

于 2012-04-18T05:15:14.117 に答える