人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

vbaのエラートラップについて。
呼び出し元に例外を伝搬したいのですが、下記の如くです。
スマートな方法を教えて下さい。

sub f()
on error goto err
call p
exit sub
err:
msgbox err.number ' 1.ここでp内の例外を受け取りたい
end sub

sub p()
on error goto err
file.open
file.hoge
exit sub
err:
if file.isopen then ' 2.ここでErrが上書きされてしまう。
file.close
end if
Err.raise err.number ' 3.おそらくerr.number = 0
end sub

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号

err:
Dim errNumber As Integer
errNumber = Err.Number

if file.isopen then
file.close
end if

Err.raise errNumber
end sub

こんな感じ?

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ