| trans.AddNewlyCreatedDBObject(circle, true);
trans.Commit();
}
catch
{
ed.WriteMessage("Error ");
}
finally
{
trans.Dispose();
}
}
End Function
运行你的代码来进行测试……
上面的catch块只显示一个错误信息。实际的清理工作是在finally块中进行的。这样做的理由是如果在事务处理被提交(Commit())之前,Dispose()被调用的话,事务处理会被 销毁。我们认为如果在trans.Commit()之前出现任何错误的话,你应该销毁事务处理(因为Commit将永远不会被调用)。如果在Dispose()之前调用了Commit(),也就是说没有任何错误发生,那么事务处理将会被提交给数据库。
所以基于上面的分析,Catch块其实并不是必须的,因为它只用来通知用户程序出现了一个错误。它将在下面的代码中被去掉。
5) 现在让我们在Employee加入剩下的部分:椭圆和多行文本的实例。
多行文本实体:
中心点应该与圆心的创建一样:
(建议:创建一个名为‘center’而值为10,10,0的Point3d变量来表示中心点)
多行文本的内容可以是你的名字。
椭圆(提示:你可以先看一下Ellipse的构造函数)
法向量应该沿着Z轴(请查看Vector3d类型)
主轴设为Vector3d(3,0,0)(提示:不要忘了用new)
半径比例设为0.5
椭圆还必须闭合(也就是说,开始和结束点必须相同)
运行你的代码来进行测试……应该可以生成一个圆、一个椭圆和一个中心点在10,10,0的多行文本。
注意:和事务处理对象有关的.NET API中的Try-Catch-Finally块结构, 上一页 [1] [2] [3] [4] [5] [6] [7] 下一页 |