2016-05-12 3 views
0

私は、次の線に沿って何かをやろうとしている:Server.GetLastError()= System.Web.UI.ViewStateExceptionの場合はどうすれば確認できますか?

If Server.GetLastError() = System.Web.UI.ViewStateException Then 
    ' Do something here 
End If 

しかし、これは働いて、私にこの与えていない:「ViewStateExceptionは」型クラスで、式で使用することはできませんが。この

だから私が試したのバリエーション:

If (Server.GetLastError.GetType = TypeOf (System.Web.UI.ViewStateException)) Then 

しかし、それはどちらか動作していないです。

私には何が欠けていますか?

+0

2番目のケースでは機能しないものはありますか? 'if(TypeOf Server.GetLastError Is System.Web.UI.ViewStateException)' –

+0

同じですが、 "is演算子はboolean型のオペランドを受け付けません"とし、代わりに=に変更すると、同じ元のエラー。 – Westicle

答えて

1

構文を更新する必要があります。 TypeOf Operator (Visual Basic)

Dim lastError As Exception = Server.GetLastError().InnerException 
If TypeOf lastError Is System.Web.UI.ViewStateException Then 
    ' Do something here 
End If 

を使用するか、またはあなたが望む型にキャストしようと、それは何もないではないかどうかを確認することができます。

Dim lastError = TryCast(Server.GetLastError().InnerException, System.Web.UI.ViewStateException) 
If lastError IsNot Nothing Then 
    ' Do something here 
End If 
+0

それでも、私は "'ViewStateException'は型クラスであり、式では使用できません。" – Westicle

+0

私の謝罪@Nkosiは2番目の部分が動作します。今私はちょうどViewStateExceptionの代わりにHttpUnhandledExceptionを取得しているので、チェックする方法を理解する必要があります。 – Westicle

+0

私は答えの最初の部分に 'TypeOf'演算子を残していたことに気付きました。ごめんなさい。 – Nkosi

関連する問題