トップページ > プログラム > 2015年08月19日 > xc/++r0f

書き込み順位&時間帯一覧

3 位/149 ID中時間01234567891011121314151617181920212223Total
書き込み数1000000000000300000320009



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
【JavaScript】スクリプト バトルロワイヤル51【php,py,pl,rb】©2ch.net
VBプログラマ質問スレ(Ver.6.0 まで) part64

書き込みレス一覧

くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
804 :デフォルトの名無しさん[sage]:2015/08/19(水) 00:15:08.96 ID:xc/++r0f
殆どの場合・・・ifで事足りる
殆どの場合以外・・・ifで事足りない

単純明快
【JavaScript】スクリプト バトルロワイヤル51【php,py,pl,rb】©2ch.net
391 :デフォルトの名無しさん[sage]:2015/08/19(水) 13:33:17.62 ID:xc/++r0f
>>389
> いろんなプログラムから同じデータベースを利用したい場合なら
インターネットに接続しない個人向けアプリでもない限り、
今は、いろんなサーバーから同じデータベースを
参照するんだが?
VBプログラマ質問スレ(Ver.6.0 まで) part64
842 :デフォルトの名無しさん[sage]:2015/08/19(水) 13:34:47.50 ID:xc/++r0f
>>839
> だから、*VB6*では、実行時エラーを発生する可能性があるメソッドを呼び出す場合は、
> 基本的にそのメソッド内でエラーをトラップしなければ、まともなログ一つ出力できない。

トラップしたらまともなログが出せるっていうの?
スタックトレースはトラップしても出せないよね?

それに「まともなログ」はオプションって言ったとおり。
まともなログは出さなくてもいい。

だから「基本」ではトラップは必要ないんだよ
VBプログラマ質問スレ(Ver.6.0 まで) part64
843 :デフォルトの名無しさん[sage]:2015/08/19(水) 13:36:24.21 ID:xc/++r0f
>>841
> なんでOn Error GotoをFormのメソッドにしか書いてはいけないと思っているのか、意味がわからない。

書いてはいけないとは言っていない。
なんで勘違いしているのか、こっちのほうが意味がわからない。

↓ 見ての通り基本的には存在しないといってる。

761 自分:デフォルトの名無しさん[sage] 投稿日:2015/08/17(月) 10:40:58.03 ID:HKx5lNza [2/13]
>>756
VB6では不可能。

だけれど、ひとつの関数に、複数のOn Errorがあるときは
コードが複雑だって考えた方がいい。

多くの場合、関数一つに対して、
On Errorは全くないか、一個だけ。

そして基本的にフォームにのみOn Errorが存在する。
フォームから呼び出されるモジュールやクラスには
Err.raiseをやっても、On Errorは存在しない。

On Errorが必要なのは、終了処理が必要な場合とか
内部で勝手にリトライする場合とかだけだから。
【JavaScript】スクリプト バトルロワイヤル51【php,py,pl,rb】©2ch.net
394 :デフォルトの名無しさん[sage]:2015/08/19(水) 19:55:21.37 ID:xc/++r0f
>>392
> Webはデータだけ設計してスクリプトは書捨て

意味がわからん。

普通書捨てスクリプトといったら、
リポジトリに登録もせず、サーバーにデプロイもしないものだが、

お前が想定している、それは、いつ捨てるのだ?

次のバージョンリリースで捨てるとか
仕様変更があったら捨てるだとしたら
それは書捨てとは言わない。
VBプログラマ質問スレ(Ver.6.0 まで) part64
851 :デフォルトの名無しさん[sage]:2015/08/19(水) 19:56:27.86 ID:xc/++r0f
>>844
> スタックトレースが取れないからこそ、実行時エラーが発生する可能性があるメソッド内でエラーを
> トラップして、少しでもまともなログを出力すべきだと言ってる。

えー、スタックトレース取れるとか言ったくせに
取れないのかよ。嘘つきだな。

まともなログを出力するべきということに反対はしないが、
別にまともなログを出力しなくても動作はする。
VBプログラマ質問スレ(Ver.6.0 まで) part64
852 :デフォルトの名無しさん[sage]:2015/08/19(水) 19:57:59.66 ID:xc/++r0f
>>848
だから基本的にって言ってるだろ。
なんで応用でログ詳細に出す場合は〜って言ってるんだよw.

ログ出さなくても動くだろ。
違うか?

正しく動く最小限のものを
基本っていうんだよ。

基本的なことだろw
VBプログラマ質問スレ(Ver.6.0 まで) part64
854 :デフォルトの名無しさん[sage]:2015/08/19(水) 20:03:06.50 ID:xc/++r0f
あと、詳細なログを出す場合でも、実行時エラーに変換する。

まず、基本として、フォームにのみOn Errorを書く。
そして応用として、フォーム以外に書いたOn Errorは
トラップしたあと、任意の処理をして
またErr.raiseをして実行維持エラーを発生される。

具体的なコードはこうなる。VB6を使っていたのは
もうずっと昔だから細かい構文は所は言いっこなしな。

まず基本。フォームにOn Errorを書く。
詳細なログとかが必要なければこれだけで正しく動く。

Private Sub Button1_Click()
 On Error Goto ErrHandler

 foo()

 Exit Sub
ErrHandler:
 ErrorLog(Err)
End Sub
VBプログラマ質問スレ(Ver.6.0 まで) part64
855 :デフォルトの名無しさん[sage]:2015/08/19(水) 20:08:48.69 ID:xc/++r0f
そして応用として詳細なエラーを出したい場合は
foo()の中をこのように書く。
(手抜き。真面目にやる場合もう少し工夫が必要)

Private Sub foo()
 On Error Resume Next

 hoge()
 If Err.Number Then
   ' ここで新しいnumberとかsourceとかdescriptを生成する
   Err.Raise number, source, description
 End If

 hage()
 If Err.Number Then
   ' 同じくここで新しいnumberとかsourceとかdescriptを生成する
   Err.Raise number, source, description
 End If

End Sub

On Error Resume NextではなくOn Error Gotoを使用してもいいが
On Error Gotoを使う意図しない場所でエラーが発生しても、
同じ場所でトラップしてしまうため、Resume Nextの方がやりやすい。

くれぐれも言っておくが、原則として関数の中でエラーをトラップして
戻り値でエラーを返してはいけない。
特に理由がない限り、エラーをトラップして、また実行時エラーにして
呼び出し元に返す。

この原則を守っていれば、基本のコードから、応用のコードに
スムーズに発展させていくことができる。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。