Vbscript-error-handling

提供:Dev Guides
移動先:案内検索

VBScript-エラー処理

プログラミングには、(a)構文エラー、(b)ランタイムエラー、(c)論理エラーの3種類のエラーがあります。

構文エラー

構文エラーは解析エラーとも呼ばれ、VBScriptの解釈時に発生します。 たとえば、次の行は閉じ括弧が欠落しているため、構文エラーが発生します-

<script type = "text/vbscript">

   dim x,y
   x = "finddevguides"
   y = Ucase(x

</script>

ランタイムエラー

ランタイムエラーは、例外とも呼ばれ、実行中に解釈後に発生します。 たとえば、ここの構文は正しいが、実行時に存在しない関数であるfnmultiplyを呼び出そうとしているため、次の行は実行時エラーを引き起こします-

<script type = "text/vbscript">
   Dim x,y
   x = 10
   y = 20
   z = fnadd(x,y)
   a = fnmultiply(x,y)

   Function fnadd(x,y)
      fnadd = x+y
   End Function

</script>

論理エラー

論理エラーは、追跡が最も難しいタイプのエラーです。 これらのエラーは、構文エラーまたは実行時エラーの結果ではありません。 代わりに、スクリプトを駆動するロジックを間違えたときに発生し、期待した結果が得られません。 これらのエラーをキャッチすることはできません。これは、ビジネス要件によってプログラムにどのタイプのロジックを配置するかによって異なるためです。 たとえば、数値をゼロで除算したり、無限ループに入るスクリプトを記述したりします。

エラーオブジェクト

Aランタイムエラーが発生した場合、エラーメッセージを表示して実行を停止します。 開発者として、エラーをキャプチャする場合は、 Error オブジェクトが使用されます。

以下の例では、 Err.Number はエラー番号を示し、 Err.Description はエラーの説明を示します。

<script type = "text/vbscript">

  Err.Raise 6     ' Raise an overflow error.
  MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
  Err.Clear       ' Clear the error.

</script>