- - PR -
VB.NET2003 スケルトンコードのカスタマイズ
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-09 15:29
お世話になります。
VB.NET2003での質問です。 FormをDoubleClickすると、 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub といったスケルトンコードが生成されますが、 例えば、共通的なエラー処理コードも同時に自動生成する事は可能なのでしょうか。 Loadに限らず、全てのProcedureに共通的なエラー処理コードを 自動生成できれば、と考えています。 よろしくお願いいたします。 | ||||
|
投稿日時: 2008-04-09 21:32
どんなものをお考えですか? ちなみに、VB6 までのような、 On Error Goto *** というような処理は、必要ありません。 | ||||
|
投稿日時: 2008-04-10 01:23
こーゆー半ば強制するクラスを作るんじゃなくて? 処理する中身はそれぞれで呼び出しは統一(してもいいし、それとわかるような個別の名前でもいいし)してエラーは全部同じところで拾ってって、出来るけど。 mustoverride してるから、 public class xxx : inherits BaseClass 「改行」 って記述すると、自動的に雛形が生成されますよ。 訂正:ちょっとコード追加 訂正2:mustoverride の部分解説 訂正3: >例えば、共通的なエラー処理コードも同時に自動生成する事は可能なのでしょうか。 上の例では、共通的なエラー処理コードを予め用意しておいて、そこを必ず通る ようにするための仕掛けを用意する、という形になります。 訂正ばっかしですまそ。m(__)m [ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-04-10 01:36 ] [ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-04-10 01:39 ] [ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-04-10 01:44 ] | ||||
|
投稿日時: 2008-04-10 08:06
(要望とは若干違いますが)
VS2003ならプロジェクトテンプレートに登録すれば プロジェクト選択時に自分で書いたフォームが出てきます。 (キーワード:「vsdir テンプレート」あたりで出てきます) VS2005以降ならコードスニペット登録ができますが。。。(残念!) | ||||
|
投稿日時: 2008-04-10 11:56
お世話になります。
当初の質問が説明不足で申し訳ありません。 実現したかったのは、全てのProcedure(Sub)とFunction生成時に 独自ExceptionのCatchも含めた、プロジェクト内統一の例外処理を 自動生成するというものでした。 この必須例外処理が守られていないケースが散見される為 意識しなくても必ず挿入されれば間違いがないとの思いからです。 実現の可能性としては、 @VBのオプション機能にある、「ENDコンストラクタの自動挿入」を拡張(?)して、Procedure内の定型処理(例外処理)コードを自動挿入する方法(※Procedure(Sub)とFunction生成時に) AX:\Program Files\Microsoft Visual Studio .NET 2003\Vb7\VBWizards あたりのTemplate関連ファイルをカスタマイズする。 といったところを考えたのですが、行き詰ってしまったしだいです。 indigo-xさんのおっしゃるコードスニペット機能と同等の 機能があれば充分便利なのですが、そもそも例外処理を書く事自体を 意識していないケースは救えないなあと感じております。 ご回答いただきました皆様ありがとうございます。 もしまた何かヒントがございましたらよろしくお願いいたします。 | ||||
|
投稿日時: 2008-04-10 13:21
であれば、そもそもはその「末端で例外をハンドリングする」スタイルがよくないです。 ロジック内では「想定される例外(=ユーザ操作によって指定されたファイルが開けなかった時「ファイルが開けませんでした」というメッセージダイアログを表示する等)」にのみ対処し、それ以外の「想定外の例外」に関しては ・Windows.Forms なら Application.ThreadException, AppDomain.UnhandledException ・ASP.NET なら Application_Error でハンドリングする方が総合的にはよろしんじゃないかと。 仮に例外ハンドラが自動生成できたとしても、ハンドラ内のコードをハンドラを書くのを忘れてしまうような人が手書きするんじゃ、信頼性は大して向上しないと思います。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ |
1