如下所示:
Cursor.Current = Cursors.WaitCursor;
try {
. . .
} finally {
Cursor.Current = Cursors.Default;
}或者这样:
try {
Cursor.Current = Cursors.WaitCursor;
. . .
} finally {
Cursor.Current = Cursors.Default;
}发布于 2012-07-03 02:35:47
将第一个游标赋值放在try块中是没有坏处的。正如其他人所指出的,如果您确信赋值永远不会抛出异常,那么它就不需要严格地位于try块中。如果您不确定,最好将它放在try块中。
作为一种通用的编码模式,如果您不确定一条语句是否会抛出异常,请将其放入try块中。最好将它放在try块中而不需要它,而不是假设/猜测错误并在您确实需要它的时候将它放在try块之外。
发布于 2012-07-03 02:25:56
这两种方法没有区别,因为将预定义的游标分配给Cursor.Current不会抛出异常。如果从资源文件加载游标,该操作实际上可能会抛出异常(例如,如果找不到指定的资源)。
重要的是在finally块中将光标设置为所需的状态,这两个示例都是这样做的。
发布于 2012-07-03 02:25:56
问问你自己,这一行的结果会抛出异常吗?在这个简单的例子中,只要抛出任何异常,并且只有当你在finally子句中返回到正常状态,这都无关紧要。就我个人而言,我不会抛出Cursor.Current = Cursors.WaitCursor这一行,因为这不会抛出异常(您只是在进行赋值)。
https://stackoverflow.com/questions/11299107
复制相似问题