匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

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人5回まで
  • 13歳以上
  • 登録:2014/08/03 18:41:25
  • 終了:2014/08/10 18:45:04

回答(1件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2014/08/03 19:27:25

err:
Dim errNumber As Integer
errNumber = Err.Number

  if file.isopen then
    file.close  
  end if 
  
Err.raise errNumber
end sub

こんな感じ?

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません