我在vb.net和Oracle數據庫中有一個項目。當用戶口令在oracle中過期時導致一個oracle的豁免。我處理該異常(打開ChangePassword形式和我更改密碼),但我失去我正準備執行時,誤差出現的過程:
例子:密碼已過期
Try
conn = New OracleConnection
conn.ConnectionString = gApp.ConnectString
conn.Open()
'Let's say that error appears here, I want to retun here after password has been changed
cmd.Connection = conn
cmd.CommandText = "Delete_Transaction"
cmd.CommandType = CommandType.StoredProcedure
OracleCommandBuilder.DeriveParameters(cmd)
cmd.Parameters("in_transaction_id").Value = TransactionId
cmd.ExecuteNonQuery()
conn.Close()
Catch ex As OracleException
'PseudoCode: if error is PasswordExpired->open the ChengePassForm...blah,blah
'is handled by a Error class that i have
Finally
If Not conn Is Nothing Then
conn.Dispose()
End If
End Try
的主要問題是,這個問題可以出現在代碼無處不在,我的意思是不同的程序,不同的形式等。
所以我需要一個通用的解決方案。其實我甚至無法想象一個正確的邏輯來解決這個問題。任何人都可以告訴我一個方向?
我不是那麼熟悉的代表和lamdas表達。你可以說得更詳細點嗎? – Nianios 2013-02-25 15:34:04