none
エラーの最大数を変更する方法 RRS feed

  • 質問

  • お世話になります。以下についてどなたかご存じの方がいましたらご教授下さい。

    <環境>

    Windows 7 Pro (x86)

    Visual Studio 2010 Pro

    .NET Framework 4.0

    <質問>

    Visual Studioでビルドを行うとエラーや警告がエラー一覧にでますが、

    最大数が設定されているため100件を超えると以下表示され以降のエラーが表示されません。

    「エラーの最大数が制限を超えました。」

    http://msdn.microsoft.com/ja-jp/library/88yx2yy6(v=vs.90).aspx

    このエラー表示数を設定の変更する方法はありますでしょうか?

    以上となりますが宜しくお願い致します。

    • 移動 星 睦美 2013年4月5日 6:31 Visual Studio 共通から移動
    2013年4月4日 8:58

回答

  • Visual Studio共通の話題としてこのフォーラムを選択されていますが、完全にVisual Basic固有の話題です。

    Strict=OFFを前提に書かれたコードにおいてStrict=ONにしたら大量のエラーが出る、たったそれだけのことです。前提が違うのだから仕方がないじゃないですか。
    もちろん、Strict=ONを前提に全てのコードを書き直すことをお勧めします。

    2013年4月5日 0:43
  • すべて初心者さん、こんにちは。
    名前のとおりプログラミングは初心の方と思われるのですが、すでに皆さんが指摘されてるとおり Visual Basic で開発する場合、Option Strict は On にすることをお勧めします。まして業務用アプリケーションを開発するなら、なおさら On にする必要があります。

    たとえば以下の記事をご覧ください

    Option Strict Off っておそろし~の?
    http://blogs.wankuma.com/torikobito/archive/2007/03/23/68570.aspx

    ここに書かれているサンプル・・・

    Module Module1
    
        Sub Main()
            Dim a, b, c, d, e
            b = True
            c = "31" - "1"
            d = 1.5
            e = Nothing
            a = b + c + d + e
    
            Console.WriteLine(a)
            Console.ReadLine()
        End Sub
    
    End Module

    これを読んで、コンソールに出力される変数 「a」 の値がわかりますか?わかりませんよね。

    このように、Option Strict Off だと型が全く違う変数どうしの演算が可能になったり
    いろんな型を代入できたりするため、想定外のバグを引き起こしたり、
    あとから修正する際、非常に直しづらいコードになる恐れがあります。
    実際、いますべて初心者さんが直そうとしてるシステムもそうですよね。

    よって、皆さまの言われるとおり、Option Strict On ですべて書き直すことを強くお勧めいたします。


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年4月5日 3:45
    モデレータ

すべての返信

  • そんなことを考えるよりエラーを修正することをお勧めします。
    2013年4月4日 9:37
  • 返信ありがとうございます。

    自分もそう思うのですが、「エラーの全体数が欲しい。」「エラー種別をみたい。」という話がありまして。。。

    そもそもVisual Studioで最大数の変更ができないのであれば、「できないです!修正していきます!」で終われるので、

    変更する方法というより変更できないことが書かれたMSDNのドキュメントを探しているというのが本音ですね!

    2013年4月4日 10:42
  • エラーは常になし=0個にすべきであり、それが1個だろうが100個だろうが100万個だろうが何ら違いはありません。

    またエラー数と誤りの数は一致しません。
    例えば、既にエラーの発生しないソースコードで、先頭の方にある閉じかっこ(VBならEnd~)を消してコンパイルしてみてください。閉じかっこ1ヶ所を消しただけで大量の構文エラーが発生するはずです。
    エラー数を数えることの無意味さを理解してください。

    ですので再度書きます。
    そんなことを考えるよりエラーを修正することをお勧めします。

    2013年4月4日 11:46
  • 方法はないと思いますし、それをわざわざ仕様としてドキュメントに書いているとも思えないので、求めていることは達成できないでしょう。
    佐祐理さんの指摘されていること(エラーの数を知ることに意味がない)に、私も同意です。

    ところで、そういった話がくると言うことは、上司なり、客先なり、相手がいるわけですよね。
    「何のために知りたいのか」を聞き出しませんか。
    もし、修正の見積もりを得たいのであれば、それに応じた手段を執るべきです。エラーの数は修正しないといけない数を表しませんし、ボリューム(工数・期間)も表しませんので、エラー数を調べる方法は時間の無駄になりかねません。
    修正するかどうかの判断のために欲しいのであれば、エラーをなくすためにかかる工数、修正によって不具合を埋め込むリスク、影響範囲などの情報を提示する方が判断根拠としてもより信頼が置けます。

    2013年4月4日 13:32
    モデレータ
  • 同じようなことを、別途質問されているようなので関連スレッドとしてリンクしておきます。

    http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/bcc8743b-46d7-41ad-9dab-0b3690066e34

    2013年4月4日 13:38
    モデレータ
  • 返信ありがとうございます。

    Visual Studioに関する知識が乏しいためできるかどうか自体が分からず、質問させて頂いた次第です。

    方法はなくそういう仕様ということですね。勉強になります。

    何のために知りたいかという点についてですが、Strict=False状態ですとエラーは出ず動いている状態のアプリケーションのTrueにしたときに出るエラーの数とエラーの種別をしって、どこまで対応するかなどをを検討したいです。

    皆さんのおっしゃる通り、そもそもすべて修正しましょうよが正解だと思います。

    2013年4月4日 14:36
  • 「Strict」が「Option Strict」のことなら、これは True/False ではなく、On/Off だと思うのですが?

    どこまで対応するかも何も、すべて修正しないと、コンパイルできないはずですが?


    Jitta@わんくま同盟

    2013年4月4日 14:49
  • 回答ありがとうございます。

    Web.configのStrictやPageディレクティブのStrictとソリューションを右クリックから設定するOption Strictがごっちゃになっています。。。すいません。。。

    >Strict=False状態ですとエラーは出ず動いている状態のアプリケーション

    分かりにくくて申し訳ないのですが、現状、OFFの状態ですとコンパイルできて動作しているアプリケーションです。

    これをONにした際に出るエラーをどこまで対応するかという話です。。。

    (既存の資産がちょっと雑な実装になっているので)

    2013年4月4日 15:01
  • Visual Studio共通の話題としてこのフォーラムを選択されていますが、完全にVisual Basic固有の話題です。

    Strict=OFFを前提に書かれたコードにおいてStrict=ONにしたら大量のエラーが出る、たったそれだけのことです。前提が違うのだから仕方がないじゃないですか。
    もちろん、Strict=ONを前提に全てのコードを書き直すことをお勧めします。

    2013年4月5日 0:43
  • すべて初心者さん、こんにちは。
    名前のとおりプログラミングは初心の方と思われるのですが、すでに皆さんが指摘されてるとおり Visual Basic で開発する場合、Option Strict は On にすることをお勧めします。まして業務用アプリケーションを開発するなら、なおさら On にする必要があります。

    たとえば以下の記事をご覧ください

    Option Strict Off っておそろし~の?
    http://blogs.wankuma.com/torikobito/archive/2007/03/23/68570.aspx

    ここに書かれているサンプル・・・

    Module Module1
    
        Sub Main()
            Dim a, b, c, d, e
            b = True
            c = "31" - "1"
            d = 1.5
            e = Nothing
            a = b + c + d + e
    
            Console.WriteLine(a)
            Console.ReadLine()
        End Sub
    
    End Module

    これを読んで、コンソールに出力される変数 「a」 の値がわかりますか?わかりませんよね。

    このように、Option Strict Off だと型が全く違う変数どうしの演算が可能になったり
    いろんな型を代入できたりするため、想定外のバグを引き起こしたり、
    あとから修正する際、非常に直しづらいコードになる恐れがあります。
    実際、いますべて初心者さんが直そうとしてるシステムもそうですよね。

    よって、皆さまの言われるとおり、Option Strict On ですべて書き直すことを強くお勧めいたします。


    ひらぽん http://d.hatena.ne.jp/hilapon/

    2013年4月5日 3:45
    モデレータ
  • フォーラム オペレーターの星 睦美です。

    .NET初心者というより全て初心者 さん、
    今回は私から「Option Strict On で書き直す」というコミュニティの回答者からのアドバイスを[回答の候補に設定] させていただきました。

    ※回答で得られた情報をコミュニティで共有するために、私のほうでスレッドをVisual Basic フォーラムに移動しました。

    MSDN ライブラリのOption Strict に関する説明がありますのでご参考までにリンクしておきます。

    Option Strict ステートメント:
    (抜粋) Option Strict On によって 厳密な型指定が可能になり、データの損失を伴う意図しない型変換を回避でき、遅延バインディングが禁止されて、パフォーマンスが改善されるので、必ず使用することをお勧めします。

    Option Strict On では、すべての関数、プロパティ宣言および演算子宣言に 'As' 句を指定する必要があります。

    コミュニティの回答者からのアドバイスが質問の参考になりましたら、投稿者から[回答としてマーク] いただければ幸いです。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美



    • 編集済み 星 睦美 2013年4月5日 6:56 追加
    2013年4月5日 4:15
  • 返信頂きありがとうございます。

    ほんと、なぜ既定がOFFなんだよ!ですね。。。

    作る人はいいですが、後で直す人は地獄です。。。

    エラー自体は皆さんのおっしゃる通り修正すべきだと思います。

    どれくらいかかるは分かりませんが、一つ一つ根気強く直して確認し、綺麗なアプリケーションにできればなと思います。

    2013年4月5日 14:02
  •  Visual Basic は元々、開発者ではないけれど、アプリケーションを作成する必要がある人をターゲットとして開発されているからです。ソフトウェア開発の専門的な知識がなくても、おおよその感覚で作れるようになっています。

     私にいわせれば、「ソフトウェア開発者が Visual Basic なんか使うな」です。


    Jitta@わんくま同盟

    2013年4月5日 14:45