C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

例外がスローされたが内容がわからない

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■85878 / inTopicNo.1)  例外がスローされたが内容がわからない
  
□投稿者/ てーと (1回)-(2017/11/30(Thu) 10:13:23)

分類:[.NET 全般] 

Win7のプロフェッショナルでVS 2015を使って作成しています。
言語は.NETで、.NET FrameWork4.5.2を使用しています。

Dim iNum As Short

iNum = GetNum()

-----------------------------------

Private Function GetNum() As Short

  GetNum = 29
  return GetNum

End Function



簡略化していますが上記の処理を行うとiNum = GetNum()の時点で例外がスローされます。
戻り値自体は間違いなく帰って来ているのですが、代入の時点で発生しているようです。

例外がスローされました: 'System.Runtime.InteropServices.COMException' (Microsoft.VisualBasic.dll の中)

としか表示されず、何がどうなっている例外なのかがまったくわかりません。
こういった例外は0x〜のようなものがセットになっていると思っていたのですが・・・。
どなたか原因、対処法がわかる方が居ましたら教えてください。


引用返信 編集キー/
■85881 / inTopicNo.2)  Re[1]: 例外がスローされたが内容がわからない
□投稿者/ WebSurfer (1379回)-(2017/11/30(Thu) 10:52:02)
No85878 (てーと さん) に返信

> 簡略化していますが上記の処理を行うとiNum = GetNum()の時点で例外がスローされます。

その「簡略化」しているところ、すなわち質問に書いてない部分が問題を起こしているのではないですか?

コンソールアプリで以下のようにして期待通り iNum=29 と出力されます。

Option Strict On

Module Module1

    Sub Main()

        Dim iNum As Short

        iNum = GetNum()

        Console.WriteLine("iNum={0}", iNum)

    End Sub

    Private Function GetNum() As Short

        GetNum = 29
        Return GetNum

    End Function

End Module

引用返信 編集キー/
■85882 / inTopicNo.3)  Re[2]: 例外がスローされたが内容がわからない
□投稿者/ てーと (3回)-(2017/11/30(Thu) 11:04:27)
回答いただいたところ申し訳ありません。
何とか自己解決できました。

問題箇所は指摘頂いたとおり簡略化していた部分にありました。
簡略化した部分を大雑把に説明すると、

iNum = GetNum()

このとき引数を二つ渡してそれによって戻り値の数値を決定するというものだったのですが、
その引数としてエクセルシートから値を取得していた処理が原因だったようです。

回答ありがとうございました。
また何かわからないことが起こったときもよろしくお願いします。


解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ