[解決済み] VB6でVarTypeが返すvbErrorとは何ですか?
質問
この件に関してウェブ上で検索しているのですが、いずれも
ErrObject
クラス、または定数
vbError
が返す
VarType
関数を使用します。 その型が実際にどのようなものか知りたい
は
例えば
integer
は次のようなものです。
4
, a
string
は次のようなものです。
"hello world"
など。
少し背景を説明しますと
こちら
に関する MSDN の公式ページへのリンクです。
VarType
この定数には、この定数が返すすべての定数と、それらが表すものが示されています。 とは
Error value
?
解決方法は?
C/C++のCOMに慣れている人なら、その観点で
VarType()
の値を抽出する単純な関数です。
vt
メンバーから
Variant
パラメータとして渡される。パラメータとして渡された
vt
メンバは、多くの場所で文書化されています。
ここで
.
COMシステムヘッダ(例:Windows SDKの一部として配布されているWTypes.h)の内部を確認すると
VbError
の値は、C/C++のenum値である10に確かに対応します。
VT_ERROR
.
enum VARENUM
{ VT_EMPTY = 0,
...
VT_ERROR = 10,
...
} ;
上記の MSDN のリンク先には
vt
と同じです。
VT_ERROR
を次のようにします。
SCODEが指定されました。エラーの種類は スコード . 一般に、エラー値に対する操作は、適宜、例外を発生させるか、エラーを戻り値に伝搬させる必要があります。
つまり、基本的にはこういうことです。
A
Variant
明らかに多くのタイプの値の保存をサポートしており、その中に "エラーコード" を保存する曖昧な可能性があります。より正確には、これらのコードは正式には
scode
これは、成功や失敗など、さまざまな状態を示すことができるからです。多くの人は、これらのコードを
HRESULT
s.
これらのコードは、以下のコードと同じ種類のものです。
Err.Number
をVB6で作成しました。ですから
Variant
を使えば、単なる数字とエラーコードを区別することができます。
実際には、Variantにエラーコードを入れるプログラムやCOMコンポーネントは(あったとしても)ほとんどないでしょう。ほとんどの場合、エラーを伝えるためにCOM例外を発行するだけです(このメカニズムは、VB6で
Err
オブジェクトを使用します)。COM Exceptionメカニズム以外でエラーコードを返すコンポーネントでも、型付き変数で返すことが多いでしょう(例えば
Long
's).
したがって、この可能性のある戻り値が存在するのは、完全性を確保するためです。実際の生活ではほとんど目にすることはないでしょう。
(編集: "Error"バリアントを作成できないことを削除しました。それについては@Joeが私の間違いを証明してくれました。を使うことができます。
CVErr()
を作成する)
関連
-
[解決済み】「Fatal error: Unexpectedly found nil while unwrapping an Optional value "とはどういう意味ですか?
-
[解決済み] ベリログ・ノンネット値割り当て
-
[解決済み] Golang で exec.Command を実行したときの "exit status 1" エラーをデバッグする方法
-
[解決済み] VB6でVarTypeが返すvbErrorとは何ですか?
-
[解決済み] PHPはエラーログをどこに保存するのですか?(PHP 5, Apache, FastCGI, および cPanel)
-
[解決済み】 `throw new Error` と `throw someObject` の違いは何ですか?
-
[解決済み] C# MVC4 WebAPIアプリのすべての例外をグローバルに記録するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン