例: StackTrace プロパティ

次のスクリプトでは、3 つの Java™ Class を使用して、スタックトレースの原因となるエラーを例示しています。この結果は「LotusScript® code」というラベルの付いたセクションの下に出力されます。

ClassA.java

public class ClassA {
	ClassB CB = new ClassB();

	public int FunctA(){
		return CB.FunctB();
	}
}

ClassB.java

public class ClassB {
	ClassC CC = new ClassC();

	public int FunctB(){
		return CC.FunctC();
	}
}

ClassC.java

public class ClassC {
	int x = 10;
	int y = 0;

	public int FunctC(){
		return x/y;
	}
}
   

LotusScript コード

Dim mySession As JavaSession
Dim myClass As JavaClass
Dim myMethod As JavaMethod
Dim myObject As JavaObject
Dim myError As JavaError

Set mySession = New JavaSession ()

Set myClass = mySession.GetClass("ClassA")
Set myObject = myClass.CreateObject("()V")

Set myMethod = myClass.getMethod("FunctA", "()I")

On Error GoTo errhandler:
print myMethod.invoke(o)
	
done:
exit sub

errhandler:
set myError = mySession.getLastJavaError()

MessageBox myError.StackTrace,, Error
Resume done
	
(Results)
java.lang.ArithmeticException: / by zero

	at valid5.javaconn.java.ClassC.FunctC(ClassC.java:6)

	at valid5.javaconn.java.ClassB.FunctB(ClassB.java:5)

	at valid5.javaconn.java.ClassA.FunctA(ClassA.java:5)