- PR -

エラーの集中管理

投稿者投稿内容
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-11-18 14:13
ほむらです。
またでしゃばるようなのですが^^;;;;
------------
CHN氏へ
引用:

例を挙げますと、MSの製品で予期しないエラーでアプリケーションが落ちた場合、
エラー内容を送信するダイアログが表示されますよね。あれは要は予測できないエラーが
起きてしまったので当然それを正しく処理ができないから落ちるしかない。それでも
ちゃんとなんらかのエラーが起きてしまったってことは探知できてます。


「未処理」のエラーって。。。
もしかしてOS単位のエラーのことですか?
アプリ単位であれば小野@EAC氏の言う方法で出来ると思いますけど。。
もしもOS単位のものを作ろうと思うのならばどこかのアドレスをフックして
アドレスエラーの発生したときに割り込むとか言う
常駐+アセンブラ(ネイティブ)の世界だと思うのですけど。。。

もちろん割り込み処理をアセンブリで記述できるというのが前提条件でしょうけど。。。
(普通のコンパイラ出力ではスタックオーバーフローするはずなので。。)HSBってソースコードは公開していなかったと思うので作者さんに連絡とるとか。。。
(検索ででてくるのかな?)

#つまり、手を出さないほうが無難というわけですw

#追記
#ありゃ?失敗してしまいましたねー
#ちょうどすれ違ってしまったみたい(笑

[ メッセージ編集済み 編集者: ほむら 編集日時 2003-11-18 14:14 ]
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2003-11-18 14:37
ほむらさん、こんにちは。

内容が深すぎて。。。理解できないっす。
UnhandledExceptionEventHandlerでできる範囲でやってみます。
私が言っているこの未処理のエラーってやつがある方がおかしいですね。
そう思いますが、なかなかテストしきれないですね。

今、テキストエディタコンポーネントを作成していますが、
まだ大したことできないのにもうすでに私の限界に近づいてます。
最近のIDEエディタがどんどん高機能になってきて、それに負けないくらいのものを
作りたいが。。。できるかは今の所クエスチョンマークです。
すこしでも近づけるようにはしたいです。
機能をつけるほど複雑になって
きてます。ソフトウエアはバグがあってはいけないって格好いいことをよく聞きますが
そう簡単にできないですね。
こういうわけで、あってはいけないとおもっていても、万が一バグったときでも
ストンッと落ちるよりワンクッションあった方がいいなぁと思いました。
object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2003-11-18 14:51
objectです。

Windowsの場合は、
Application.ThreadExceptionイベント
で、アプリケーションの最終未処理例外はトラップ出来るのではないでしょうか?
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2003-11-18 14:56
objectさん、こんにちは。

なんかすごく使えそうな感じがしますね。
ありがとうございます。
使ってみます。
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-11-18 15:06
ども、ほむらです。
毎度の事ながらごめんなさい。.NETの世界でやるような話じゃないです。
というか、Windowsでやることすら怪しい処理です。
忘れてください。
ちなみに、HSBというのはMS-DOSの時代にかなりお世話になったフリーソフトです。
ハングアップしたときとか。。。DOSの環境を変えたいときとか。。
リセットするよりも早くリブートできるといった内容ですか?(ちょっと違うけど)
----------
CHN氏へ
引用:

今、テキストエディタコンポーネントを作成していますが、
まだ大したことできないのにもうすでに私の限界に近づいてます。
最近のIDEエディタがどんどん高機能になってきて、それに負けないくらいのものを
作りたいが。。。できるかは今の所クエスチョンマークです。
すこしでも近づけるようにはしたいです。
機能をつけるほど複雑になって
きてます。ソフトウエアはバグがあってはいけないって格好いいことをよく聞きますが
そう簡単にできないですね。
こういうわけで、あってはいけないとおもっていても、万が一バグったときでも
ストンッと落ちるよりワンクッションあった方がいいなぁと思いました。


おー以前書き込まれていたやつですねがんばってください^^
ちなみに、個人的にはバグのないソフトは無いソフトは無理だと思っています。
大切なのはエラー発生時の保守とか復帰かなと。。。

もう遅いかもしれませんが。。。
機能を追加するときは1コールで実行できるようにして、アドインみたいな形すると後で
マクロを実装するときとかアドインに対応するときとか、
作り直す(手直しする)ときにも楽になるかもです。

マクロに対応したカスタマイズが出来るソフトはこんな形みたいですね。

あと、シンプルなうちに最小限の機能の部分を抜き出してバックアップとって置くと
いろいろと流用が利いたりします・・・

>こういうわけで、あってはいけないとおもっていても、万が一バグったときでも
>ストンッと落ちるよりワンクッションあった方がいいなぁと思いました。
発生個所が特定しにくくなるというデメリットもあるかもしれないので
デバックバージョンははずしておいたほうが無難かもしれません。。
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2003-11-18 15:59
ほむらさん、いつもありがとうございます。

いろいろとご意見をいただきありがとうございます。
実は前からいろんな方からご意見をお聞きしたかったですが、
「まだあまり動いてません」ので、やめておきましたが、
せっかくですから、使ってみてください。
ここからダウンロードしてください。

http://www.ak.wakwak.com/~touchin/

コンポーネントとしてはまだ無理があるのでとりあえずそれを乗せたエディタアプリ
にしてます。開発中そのままのものですのでおかしいところがたくさんありますが。。。
ちゃんと動くようになったら、またお知らせします。
厳しいご意見をお待ちしてます。
機能については随時変更追加しますのでがらっと変わったりします。
まだエディタとしては幼稚園児状態ですが
どうぞよろしくお願いします。
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-11-18 17:24
ども、ほむらです。
早速DLしてみました。すごいですね〜、
また1000桁以上のテキストがきれずにそのまま読めるのも魅力的です。
ちなみに、僕は自力でカレットをここまで作れませんでした(笑
もう。めんどくさくてめんどくさくて(^^;;;;
見た目ルーラーとかも自前ですよね?
-------
以下、気づいた点をいくつか列挙します。
僕の環境はWin98SEです。.NET FrameworkはVersion 1.1(?)です^^;;;;
1.二重起動するとかならずエラーで落ちちゃいます。(OSのせいかもしれませんが)
2.1000桁以上のデータを表示したときに描画が重くなりますね。
  表示する領域を限定する必要があるかと思います。
3.テキストエディタコンポーネントといっていたわりには
  エディタそのものを作ろうとしているようにも思えるのですが。。。

以下、コンポーネントのテスト段階としての偏見交じりです^^;;;
CHN氏の作り方や想定外であれば無視してください。
(アプリ作るときに人の意見を聞きすぎるのもあまりよくないみたいですので(笑)

個人的には、エディトコントロールみたいなものとテキストエディタとしての機能部分は
もっと切り分けたほうが良いように思えます。
テキストエディタコンポーネント側でエディットコントロールのコンポーネントを
取り込む形とか。

たとえば、
テキストエディタとしての機能は設定だけを作って
自前のエディットコントロールには設定されたとおりに表示するだけとか。

あとは、ファイル認識とかコメントとかファイル固有のデータに関するものは
コードテンプレートの部分でまた別のコンポートネントとして
考えるというのはどうでしょうか?
そうすればあとで拡張や変更差し替えも楽になるかもしれません

コンポーネントというあたり一番の核はエディットコントロールの部分ですよね?
エディタとしての機能はラッパーのような感じで。。。

#ん〜大雑把に口出し過ぎたかな?
#作り方としては機能分割に注目してみました(笑
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2003-11-18 20:03
ほむらさん、こんばんは。

ご丁寧にありがとうございます。
ご意見はしっかりと受け止めました。
また、アドバイスも絶対生かしていきます。
一人で作っているどうしても見えない部分が出てきます、
こうやって指摘をいただける非常にありがたいです。
また、なんでも気軽に言ってください。メールでもOKです。

具体的にご質問に対してお答えしてませんが、
これはまた誤解を避けるためです。一々、返答すると
意見が聞きたいのにやたら言い訳が多いととらわれがちですから。
もし、答えてほしい質問等なりましたら知らせてください。
いつでもお答えします。
要望等でも大変ありがたいです。
よろしくお願いします。

スキルアップ/キャリアアップ(JOB@IT)