2009-05-13 5 views

答えて

4

次:例外がプログラムに存在する場合、それを無視して次の文に進みます。非常に悪いと醜いと考え、正しく私の意見では。

try 
{ 
    // your code 
} 
catch 
{ 
    // nothing! muhaha 
} 
あなたのコードのすべての方法で

(またはより悪いを、プログラム全体周り):それは大きなを持っているようなものです。

エラー時には0を返します。現在のプロシージャで定義されているエラーハンドラを無効にします。それはあなたのコードの周りに大きなtry-catchを持つようなものです。これは、この行に当たった直後に無効になります。

詳細については、MSDNを参照してください。

+2

+1あります。私はこれを発見したばかりです:On Error Goto 0を使用すると、プロシージャ内の他のOn Errorステートメントは無効になります。それはまったく予想外でした。ドキュメントでは、最後に実行されたエラーハンドラだけが無効になっていると言っていると思いました。コードが別のエラーハンドラに到達して再度有効になるが、そうでないと予想した。 – authentictech

3

オンエラーページに定義されている特定のコードブックマークに実行コードを渡します。エラーが発生した場合に何かを実行する場合に便利です。

エラーが発生した場合は、次回の再開は、エラーコードの次の実行コードに移動します。基本的にエラーを無視し、コードを続行します。これは特に、レコードの100を処理しているときに、コードが実行を停止しないようにしたい場合に便利です。

3

on error resume nextはちょうどそれがエラーを無視して次の on error goto 0を再開あなたもこの

 <% 
     on error resume next '<-- This code will resume and continue executing the code if there is an error 



'YOUR CODE HERE 

if err.number > 0 then '<-- This code will look if there are any errors (even if resumed) 
' or use If Err.Number <> 0 Then 


     'DO SOMETHING IF ERROR 
    %> 
     Error Number <%= Err.Number %><BR> 
     Error Description <%= Err.Description %><BR>   
     Source <%= Err.Source %><BR> 

     LineNumber <%= Err.Line %><BR> 

     <%end if%> 
+1

これは構文エラーをスローするため、実行時エラー処理のデモンストレーションには使用できません。 –

+1

@ Ekkehard.Hornerはい、私はそれを編集しました。通知のためのThx :-) – compcobalt

1

私は古典を構築するために、「単一の実行」DOループを使用するために使用されないことができます 隣のエラー履歴書上の目的を達成するための手段を意味します複数行のコードと複数のエラーケースをカバーするASPエラーハンドラこのテクニックは、エラーが発生するとすぐにループから抜け出し、後続のエラー処理コードでエラーのクラスをテストして対応することで、 "On Error Resume Next"の使用に依存します(これを補う?)。ブレークはループと同じ関数内のループで発生するため、ループがまだ実行されているときに設定されたコンテキスト(変数)が残っているため、エラーハンドラはそのコンテキストを使用してインテリジェントエラーを記録し、必要に応じて残っている参考資料を整理する。

これの簡単な例については、同様の質問に提供されている「Larry」の回答をご覧ください。
How to handle errors in VB Script

関連する問題