• ベストアンサー

VBSの例外処理について

VBScriptの例外処理は構文エラー以外にどんなものがありますか? できる限りでいいので教えていただけないでしょうか?? また、VBScriptの例外処理が発生した時に戻り値(%ERRORLEVEL%)が0になるのは何故でしょう? ※後者は素朴な疑問なのでスルーしても結構です。もしご存知でしたら教えてください。 ざっくりとした質問ですが、ご回答宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

SCD56JP.EXEの中に同梱されている http://www1.u-netsurf.ne.jp/~tomo_c/tips/R23_002.html http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=e74494d3-c4e1-4e18-9c6c-0ea28c9a5d9d のScript56.CHM(ヘルプファイル)に説明があります。 以下、抜粋------------------------------------------------------- name プロパティ参 照 description プロパティ | message プロパティ | number プロパティ 対象: Error オブジェクト 必要条件 バージョン 5.5 エラー名を返します。 errorObj.name 引数 errorObj 必ず指定します。Error オブジェクトのインスタンスを指定します。 解説 name プロパティは、エラーの名前または例外種別を返します。実行時エラーが発生すると、次に示すネイティブの例外種別の 1 つが name プロパティに設定されます。 例外種別 意味 ConversionError オブジェクトを、変換不可能なものに変換しようとしたときに、このエラーが発生します。 RangeError 関数に範囲外の引数を指定したときに、このエラーが発生します。たとえば、有効な正の整数でない長さの Array オブジェクトを作成しようとすると、このエラーが発生します。 ReferenceError 無効の参照を検出すると、このエラーが発生します。たとえば、既定の参照が null のときに、このエラーが発生します。 RegExpError 正規表現でコンパイル エラーがあるときに、このエラーが発生します。ただし、正規表現が正常にコンパイルされた後は、このエラーは発生しません。たとえば、正規表現のパターンを宣言するときの構文が無効である場合や、フラグが i、g、または m 以外である場合、または同じフラグが複数個含まれる場合などに、このエラーが発生します。 SyntaxError ソース テキストを解析して、そのソース テキストの構文が正しくないときに、このエラーが発生します。たとえば、eval 関数を呼び出すときに無効なプログラム テキストを引数として指定したときに、このエラーが発生します。 TypeError オペランドの実際の型が、既定の型と一致しないときに、このエラーが発生します。関数の呼び出し対象がオブジェクトでないとき、またはその呼び出しがサポートされていないときに、このエラーが発生します。 URIError 無効な URI (Uniform Resource Indicator) が検出されたときに、このエラーが発生します。たとえば、エンコードまたはデコードされている文字列に無効な文字が見つかると、このエラーが発生します。 使用例 次の例では、TypeError 例外が発生し、エラー名とエラー メッセージが表示されます。 try { // "null" は無効オブジェクトです。 null.doSomething(); } catch(e){ print(e.name + ": " + e.message); print(e.number + ": " + e.description); } -------------------------------------------------------抜粋ここまで だとの事です。後はスルー・・・・。

shira1110
質問者

お礼

お礼が遅れまして申し訳ございません。 迅速な対応な上、とても参考になりました。 ありがとうございます。

関連するQ&A

  • C++の例外処理について

    C++にjavaのような例外処理ができるのを知りました 構文は try { stat1 } catch(except-decl) { stat2 } finally { stat3 } stat4 ただし stat1:例外が発生する可能性があるステートメント stat2:例外が発生したときに実行するステートメント stat3:例外が発生しなくても実行するステートメント stat4:ステートメント except-decl:捕獲する例外の宣言 です ここで質問です (1) 冷害が発生したときstat4は実行されるのでしょうか? されない場合にはその後どう言う処理がなされるのでしょうか? (2) except-declはどうのような記述がなされるのでしょうか? (4) 例外を発生させる構文 throw except (except:発生させる冷害) のexceptの部分にはどのような記述がなされるのでしょうか? よろしくお願いします

  • C# の例外処理について

    こんにちは。 C#の例外処理について質問させてください。 ある関数の内部において、一般的な例外をユーザー定義の例外に変えて投げ、 この関数の利用者には必ずそのユーザー定義の例外を処理するよう強制したいと思っています。 しかし、C#で関数の利用者に例外処理を強制させる方法が見つかりません。 そもそも、関数の利用者からは、その関数でどのようなユーザー定義の例外が投げられるかすらわからないように思います。 正しくcatchするには関数の中身を追うしかない?と疑問に思っています。 C#ではこのような場合、どうするのが一般的なのでしょうか? Javaでは例外処理の強制は簡単なので、構文が似てるだけに不思議に思っています。 基本的な仕様の見落としだったら申し訳ありませんが、よろしくお願いいたします。

  • 特定のSQLSTATE以外の例外処理について

    MySQLでは、OracleのEXCEPTION 文による例外処理のようなことはできないのでしょうか? 自分なりに調べてみたところ、MySQLではDECLARE ハンドラを使用して例外処理を行うと知りました。 ■MySQL :: MySQL 5.1 リファレンスマニュアル :: 17.2.8.2 DECLARE ハンドラより http://dev.mysql.com/doc/refman/5.1/ja/declare-handlers.html ■例外処理(DECLARE ... HANDLER) - bnoteより http://www.bnote.net/mysql/appendix/exception.shtml しかし、この場合だと、特定のSQLSTATE以外のエラーが発生した場合に、例外処理を行えなくて困っています。 特定のSQLSTATE以外の不足のエラーが起こった場合でも、例外処理を行いたい場合はどうすればいいのでしょうか?ご教授下さい。

    • ベストアンサー
    • MySQL
  • strutsで例外発生

    Strutsを使用してWebアプリケーションの開発を行っていますが、例外発生時の振る舞いについて教えてください。 あるメソッドで例外が発生した場合に、catchでnullを返して、 呼び元では戻り値がnullかどうかをチェックするという方法をとっています。 nullを返す場合はシステムエラーである為、そのままExceptionを返してエラー画面に遷移させればいいのにと思うのですが、一般的にnullを返すというやり方が正しいのでしょうか? ちなみに、呼んだメソッドがnullの場合に特別な処理はしていません。

    • ベストアンサー
    • Java
  • 【SQLServer】例外処理・意図的に例外エラーを発生させる

    お世話になってます。 現在、共通スカラ関数を作成しており、想定外の引数を与えられた場合は エラーにしたいと思っています。 SQLServerでは、意図的に例外エラーを発生させることが可能なのでしょうか? Oracleですと、「RAISE」という構文がありそれを使用しますが 変わるようなものを探してみたところ、あまりメジャーでないのか、 やり方がよくわかりませんでした。 SQLSERVERについて詳しい方教えていただけませんか? よろしくおねがいします。

  • phpの例外処理がエラーをトラップしてくれない。

    以下のように例外処理を記述しした場合、 try{ //ここでエラー } catch (Exception $e){ $ErrorMsg="その他エラー:".$e->getMessage(); } tryの中で、0除算によるエラーが発生してもエラーをトラップして、例外 処理のcatchに飛びません。 どのように記述すればエラーをトラップできるのでしょか?

    • ベストアンサー
    • PHP
  • 【VBScript】※渡したい変数のみ抜粋

    【VBScript】※渡したい変数のみ抜粋 WScrip quit(1) 【バッチスクリプト】 for %%i ("パラメータファイル") do ( cscript a.vbs %%i if not %errorlevel%==0 goto err ) 上記VBSが異常終了した際に返す、戻り値1を そのままバッチスクリプトのerrorlevelに返したい のですが、errorlevel==0となってしまいます。 for文を使わず、vbsを実行していた際には、 旨く引き渡せていたのですが、構文の修正が 必要なのでしょうか? どなたかご教示下さい。 宜しくお願いします。

  • 例外処理に関して

    質問なのですが、よろしくお願い致します。 ファイルに空白行があった場合、任意に例外を発生させることをしているのですが、 (例外処理内容:ファイルにログを出力する) 例外が2回キャッチされているようで、2回目にファイル(ログファイル)は既に開かれています。というエラーが出ますが、以下のソースでは、呼出元と呼び出されたメソッドともに例外を処理してしまうのでしょうか? また、どう改善したらいいでしょうか? ご教授よろしくお願い致します。 呼出元 public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Try    Dim cls As New testClass cls.timer1() Catch e as Exception 'ログファイル出力 End Try End Sub 呼び出されるメソッド Public Sub Timer1() try FileOpen(1,"ファイルパス",OpenMode.Input) if Trim(LineInput(1)) = "" Then FileClose(1) Throw New Exception End If Catch e as Exception    'ログファイル出力 End Try End Sub

  • vb プログラムの起動と例外処理

    はじめまして プログラムの実行と例外処理に関して質問させていただきます。 現在,visual basic2005でプログラム(A)からvbで作成した別のプログラム(B)に引数を指定してから起動し,別のプログラム(B)が例外処理に関する方法を調べています。 プログラム(B)起動時に例外処理を用い,以下のようなエラーメッセージを表示させるにはどういった処理を構成すればよいでしょうか。 パス名が設定されていない場合,”ファイルのパス名が見つかりませんでした” 引数が指定されていない場合,”引数が指定されておりません” 原因が特定できないエラーが発生した場合,”原因不明のエラーが発生しました” プログラムの実行にはShellメソッドとSystem.Diagnostics.ProcessクラスのStartメソッドがあるという事がわかりましたが,上記2つのメソッドが自分の意図したい操作に適しているかまでは理解におよんでおりません。 まだプログラミングを始めたばかりという事もあり,右も左もわかりませんが,ご教授お願い致します。

  • 0除算の例外処理ができない!!助けて!!

    0除算の例外処理ができない!!助けて!! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Try If (Flag = "数値") Then Flag = "演算子" Work = Total + Calc + Input Total = js.Eval(Work) Input = "" TextBox1.Text = Total End If Catch ex As Exception MessageBox.Show("Exception Error : 0除算を行いました。") End Try ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Total + Calc + Inputは、すべて文字列です。 実行すると、ポップアップではなく、テキストエリアにこんな文字列が・・・ 0除算しても例外が発生しない・・・ 0 / 0 ・・・NaN (非数値) 1 / 0 ・・・+∞ そもそも、0除算ってなんですか??? 0で割っても例外が出ない!!

専門家に質問してみよう