[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/24 17:42 / Filesize : 263 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part132



1 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:56.93 ID:Y4203ffV0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part131
mevius.5ch.net/test/read.cgi/tech/1504861931/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
mevius.5ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

862 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:35:14.75 ID:sTeHaJ1X0.net]
>>840
> エイリアスの機能がいらないならそもそもrefってキーワードも用意されてないでしょ
???
refって参照型じゃなくても使えるんだが...
参照型にrefを使うことがほぼないだろって話だと思うけどな

> 負け惜しみでくだらない意地を張るのは子供っぽいよ
自己紹介は要らんよ w

863 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:40:28.61 ID:WuSfeAlZa.net]
>>844
意味が分からない

変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が
参照型であるか値型であるかは関係ない。

何を言ってんの?
しかし、いい歳こいて幼稚な奴って嫌だねほんと

864 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:43:37.92 ID:OcSSsXSe0.net]
>>842
名前付きタプル使いたいけどVS2013限定という変な縛りに囚われているわ
フレームワーク縛りは判るけど、IDEのバージョンを縛る理由ってなんなんだろう

865 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:58:38.30 ID:3Qk/5QRnM.net]
古いコンパイラでビルドできなくなるだろ
俺個人としては大した問題ではないと思うけど、大した問題だと考える人がいるのは普通に理解できるぞ

866 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 19:12:51.54 ID:sTeHaJ1X0.net]
>>845
> 変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が
> 参照型であるか値型であるかは関係ない。
えっ?
普通にググればrefが値型と参照型でどう使われてるかわかると思うんだが...
引っ込みつかなくなってるのかな

> しかし、いい歳こいて幼稚な奴って嫌だねほんと
また自己紹介ですか? w

867 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:19:58.00 ID:m6ZusNHm0.net]
幼稚呼ばわりが得意なのはかの例外を握り潰す人だが

868 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:22:16.23 ID:m6ZusNHm0.net]
ようするにキチガイなので相手にしなくてよいという話

869 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:45:43.86 ID:5h9DYzfZ0.net]
>>840
とりあえず、refは値型以外には使い道が無いのは確定で。

870 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:48:54.35 ID:wTKOoVxtr.net]
>>846
2017?



871 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:49:38.51 ID:mF4CZaPha.net]
>>848
マジモンかよ

俺個人が使うか、あるいは一般に多用されるかどうかはともかく、
参照型であろうと変数の値(つまり参照)そのものを書き換えたいケースは存在すると思われる。

たとえばStringのようなイミュータブルな型や配列の長さのように変更できない要素を
持つ型の場合、元の値を利用しつつそれを加工した値を返すにはrefを使うしかない

872 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:50:11.25 ID:jl0ZLZ4q0.net]
最近見たrefはBindableBaseの中だったな、ref Tとかジェネリックの場合
普段は使わないね

873 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:08:51.42 ID:uh9vgcan0.net]
議論ごっこやりたいのなら
ふらっと C#,C♯,C#(議論用)
mevius.2ch.net/test/read.cgi/tech/1469538912/
で好きなだけやってくれ。ワッチョイもないから

874 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:14:23.59 ID:5h9DYzfZ0.net]
意味もなく
try
{
  ・・・
{
catch
{}

try
{
  ・・・
{
catch (Exception ex)
{
  throw ex;
}
するヤツってアフォですか?
お願いだから辞めてください。

875 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:16:19.73 ID:mF4CZaPha.net]
>>856
プログラマがそこで例外が発生しうることを認識してそのコードを書いていることを
明示する意味はあるよ。

>>851といい、ちょっと単細胞過ぎないか?

876 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:28:09.69 ID:sTeHaJ1X0.net]
>>850
了解
>>853を見る限りおまえの言う通りだな

>>851
さすがにそれは極論過ぎ

877 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:30:25.68 ID:VAjFkczd0.net]
>>857
え?

878 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:49:38.46 ID:FXv0ObyH0.net]
>>857
c#で>>856やるとそこまでのスタックトレース消し去ることになるんだけど正気?

879 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:49:52.84 ID:jdRJf/Av0.net]
ファイルが読めない程度で例外返すクラスとか一旦握り潰して動作を変えたい

880 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:53:09.24 ID:J+hizfOLd.net]
>>861
c#使うのやめた方がいいな



881 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:02:23.28 ID:5h9DYzfZ0.net]
>>862
go言語が例外処理の機能を無くした理由の1つは、大半のプログラマーが例外処理を正しく扱えないから。
本当にそう思うよ。

882 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:06:52.22 ID:mF4CZaPha.net]
>>860
まあ後者はたしかに普通やらないと思う。
ただ、例外情報なんて必ずしも常に必要とは限らない。

883 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:07:27.03 ID:/B23IXM6M.net]
>>861
関数の返り値でエラー処理したい人?

884 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:09:09.61 ID:KEPGzX0z0.net]
>>863
C#使うのやめてGo使った方がいいな

885 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:12:09.30 ID:mF4CZaPha.net]
>>865
TryXXXなんてのがあるように、そもそも成功したかどうかしか関心がない場合もあるでしょ

886 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:12:58.59 ID:5h9DYzfZ0.net]
>>866
Go言語もまともには扱えないと思う。

887 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:14:37.92 ID:5h9DYzfZ0.net]
>>867
それは例外でエラーを拾はないでエラー処理をしたい場合。
例外処理は少々重い。

888 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:19:20.92 ID:48c6JPwZa.net]
例外は便利だよ
変な使い方しなければ

889 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:23:38.64 ID:/B23IXM6M.net]
>例外処理は少々重い。
初回の例外発生の時にその例外クラスがロードされるみたいなんだけど、その事?

890 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:40:21.94 ID:FXv0ObyH0.net]
>>864
常に必要ではないが、それをわざわざ消す必要があるか?



891 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:40:24.62 ID:WGNINBFE0.net]
ファイルを削除や移動する前に、他のソフトで使用中かどうかを調べるのに
R/Wモードでオープンしたときに例外が発生するかしないかで判断するしか無い
この処理のときはcatchでfalse返して例外を握りつぶしている

892 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:56:58.41 ID:mF4CZaPha.net]
>>872
まあ、たとえ使わなくてもInnerExceptionに食わせて再スローした方がベターだとは思う

893 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:59:45.13 ID:FXv0ObyH0.net]
>>874
Java出身の人がよくやる勘違いだよね

894 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 23:37:22.84 ID:48c6JPwZa.net]
例外で何を伝えたいかどう制御したいか決まってなければ迷うかもしれない
例外出ても継続できる内容なのかもあるかな

895 名前:デフォルトの名無しさん [2017/11/05(日) 00:13:35.57 ID:m9wZGInC0.net]
例外をどこで処理するか(または投げっぱなすか)という基準をきちんと決めないとカオスになりがち
でも事前に決めて徹底させるのが難しい場面も多いのよね

896 名前:デフォルトの名無しさん [2017/11/05(日) 00:49:39.43 ID:/t3HbS0w0.net]
タスケテ!!!
RARを回答する方法がわからないの!
なんか組み込みでいいのないの!?

897 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 00:53:25.52 ID:yAuwzX3k0.net]
>>878
7Zipのライブラリで回答できた
https://sevenzip.osdn.jp/sdk.html
使い方はすっかり忘れたから聞かないでくれ

898 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 00:55:50.51 ID:eJ/HGJ4TM.net]
コトリンの恐怖がおんどれらを襲うwww

899 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 01:34:09.45 ID:27Wvnc5t0.net]
適当に検索してみたら、それなりにref stringとかを伴うコードがあった
最近のref絡みの言語拡張を見てもコンパイラ絡みのガチガチに最適化するところとかはref引数の使いどころがあるっぽい
https://github.com/dotnet/corefx/blob/ab0c04f10c8094731d13de6f0ceaa71dd776aa00/src/System.CodeDom/src/System/CodeDom/Compiler/Executor.cs

あと、二重ポインタを扱うPInvokeとかでもでてくる

900 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 01:47:27.68 ID:+CtSMn6Br.net]
CodeDomだからC#創成期だね
いわゆるひとつのレガシー



901 名前:デフォルトの名無しさん [2017/11/05(日) 01:51:07.20 ID:/t3HbS0w0.net]
>>879
ぐぬぬだよ!
exeとdll持ってきてコマンドラインにするかあ

902 名前:デフォルトの名無しさん [2017/11/05(日) 02:12:10.73 ID:/t3HbS0w0.net]
外部のexeをインスタンス化してそれにコマンド発行ってできる?出来た気がする
7Zipを複数起動して複数ファイルの圧縮と解凍をしたいのよ

903 名前:デフォルトの名無しさん [2017/11/05(日) 02:25:25.39 ID:/t3HbS0w0.net]
ProcessStartInfoか
なんでもないです

904 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 03:06:49.05 ID:5Sua66ij0.net]
>>884
ファイルIO絡むから、複数同時に動かすとむしろ遅くなるんじゃないかな。

905 名前:デフォルトの名無しさん [2017/11/05(日) 04:13:51.92 ID:/t3HbS0w0.net]
>>886
えー
SSDやRAMに出しても?
メモリ内で解凍してデータ加工して再圧縮できない?全部メモリ内で

外部ツール使ってたら無理か

906 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:19:38.45 ID:3uuR82Hq0.net]
>>881
夜中まで必死にググった努力は認める w
>>882の言うように今時としてはいまいちのコードだよ

907 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:21:17.15 ID:eAtbP2F40.net]
「ref string」が何に使えるかは置いておいて、これで合ってる?
ttps://ideone.com/k9UegY

908 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:24:20.42 ID:3uuR82Hq0.net]
>>886
むしろI/O絡むから複数同時の意味がある

909 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 08:45:03.60 ID:TvjmwwI20.net]
>>871
仕組みは良くわからんけどスタックトレースを辿るとかの処理が重いと思ってる。
速度の必要の無い処理はオレオレ例外投げてエラー処理してる。
その方がコードがスッキリ書けるし。

910 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 08:47:05.58 ID:TvjmwwI20.net]
>>881
いつの間にか、ref 参照型 は不要から ref 全て不要に変わってるし。
ref 値型は必要でしょう。



911 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:02:12.28 ID:TvjmwwI20.net]
>>877
例外をどこで処理するかは非常に簡単だが皆分かってない。

・例外をcatchして処理できる場合はcatchして処理する
・処理できない場合は何もしなくて(無駄にcatch throwもしない)呼び出しもとに任せる
・最後はAppDomain.UnhandledException等で拾ってログ吐いて落とす

何も出来ないのにcatchしてエラーメッセージだけ出すヤツ多すぎ。

912 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:14:14.87 ID:dh3CGsv/0.net]
言語仕様としてref値型が必要なのはわかるけど
じゃあ使うかというと使わないかな
もう何年も書いた記憶がない

913 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:29:17.02 ID:yKSdtk7l0.net]
ゲームで自分で当たり判定を書いたとき
GC を避けるため使ったことがあるな

914 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:52:03.41 ID:TvjmwwI20.net]
>>894
hoge.TryParseも使った事がないと?

915 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:20:04.86 ID:3uuR82Hq0.net]
.TryParse( ) は ref じゃなくて out

916 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:20:40.26 ID:vfJyTH9D0.net]
アプリ作るたびに
ViewModelBaseのSetProperty<T>(ref T field, T newValue
を作って毎回使ってるな。
で、今ちょうどJavaでMVVMやってて、refないのでSetPropertyがかけなくてつらい・・
if (this.value != value) {
 this.value = value;
notifyほにゃ
}
refないのでプロパティ毎に3行書いてるんだけど死にたい。

917 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:40:15.20 ID:iAaHdauhM.net]
SetProperty(value, v => field = value)
でいいだろ
設定先が単純なフィールドでない場合にも対応できるしJavaでも同じ

918 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:56:36.45 ID:vfJyTH9D0.net]
んん??
どういうことそれ。引数2つ??
3つ使って
SetProperty<T>(T field, T newValue, Action<T> setterActon)
こんな感じならいけそだけど。
SetPropert(field1, 10, t => field1 = 10)
後は最後にproperyNameを渡す引数追加して。

919 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:01:15.31 ID:vfJyTH9D0.net]
SetPropert(field1, 10, t => field1 = 10)

SetProperty(field1, 10, t => field1 = t)だった
bool SetProperty<T>(T field, T newValue, Action<T> setterActon, string propertyName) {
 if (!object.equals(field, newValue)) return false;
 setterAction(newValue);
 onPropertyChanged(propertyName);
return true;
}
コンパイルしてねぇけどこんな感じかな。

920 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:11:46.25 ID:27Wvnc5t0.net]
>>888
前とは別の人だし、githubで適当に検索してみただけだから特に時間もかけてないんだけどね
roslynとかで"ref 適当な型名"で検索しても、何件か引っかかるし一応新しいコードでも(美しいかはおいといて)使ってるんじゃないかな
軽くしか見てないけどnullなら初期化ってしてるコードが多いけど、ArrayBuilerはある程度有効活用になってそうな雰囲気

ref値型いらないって言ってるのはホントの初心者でしょ
そちらは明らかに使いみちだらけ



921 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:22:13.81 ID:+CtSMn6Br.net]
×初心者
○過去を捨てられないベテランさん

922 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:28:47.04 ID:idfQljxTM.net]
例外が必ず適切にはかれるわけではないからこうしろって言われても困る

923 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:31:31.42 ID:3uuR82Hq0.net]
>>902
いいわけは要らんよ
君がref参照型が有効だと思うコードを晒せばいいだけ

924 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:31:51.41 ID:FejOKWJjM.net]
>>904
どう言う意味?

925 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:03:01.14 ID:8CRgy4j+a.net]
まだ変なのが暴れてるけど、参照型であれ値型であれrefなんか必要ない、
であれば主張に一貫性があり一理ある。

筋が通らないのは。refは値型でしか意味がないという主張。
昨日説明した通り値型参照型の違いはrefの有用性と関係ない。

>>906
>>904がそうい言いたいのかどうか分からないけど、例外の処理方法や
どの程度「真面目に」処理するかだって所詮要件次第なのに、例外の話になると
妙に教条主義的になる変な人がいるのは確かだ

926 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:46:34.43 ID:FejOKWJjM.net]
>>907
例外が適切に吐かれないって事が有るのか知りたい。

927 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:51:25.95 ID:uz/X8WP/M.net]
>>907
> まだ変なのが暴れてるけど
自己紹介ですか?

928 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:12:09.84 ID:yAuwzX3k0.net]
ref はCの&にあたるものだが、&iは普通に使うけど&pなんて見たこと無いってことだ

929 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:34:59.13 ID:sDEQ50L ]
[ここ壊れてます]

930 名前:K0.net mailto: >>894
パフォーマンスを求められる処理には縁がない人なんですね
[]
[ここ壊れてます]



931 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:46:53.29 ID:eJ/HGJ4TM.net]
素人なのでref/outの使い道がよくわからないのですが、public変数にするとかじゃだめなんですか?

932 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:50:53.40 ID:xly4dgsP0.net]
>>912
メソッド実行するたびにインスタンス作成すればおk

933 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:54:44.96 ID:jvnuL8BP0.net]
>>912
コトリン使えばおk

934 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 14:06:26.50 ID:bQLtuEEMM.net]
>>912
全部Public変数にしたら引数も戻り値も不要だね。
君は天才かも。

935 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 14:08:16.80 ID:+CtSMn6Br.net]
>>912
素人なら自作関数には両方使わない
唯一あるとすれば
パフォーマンスをシビアにする必要がある
かつフィールドをたくさん持った値型
の場合だがそんな状況はアプリにもよるがそうそう無い

936 名前:デフォルトの名無しさん [2017/11/05(日) 14:15:44.96 ID:tjXjX3Hx0.net]
>>893
と赤間さんが言ってたね

937 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 15:53:29.60 ID:3uuR82Hq0.net]
>>912
釣り針でかすぎ

938 名前:デフォルトの名無しさん [2017/11/05(日) 18:22:15.77 ID:/t3HbS0w0.net]
藤原竜也に戻せよ

939 名前:デフォルトの名無しさん [2017/11/05(日) 18:23:05.50 ID:/t3HbS0w0.net]
誤爆

940 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 20:56:07.78 ID:TvjmwwI20.net]
>>917
赤間って誰?
MSDNのコラムにc#の例外処理について解説していた良い記事があったんだが見つからんわ。

C と C++のが見つかったw
https://msdn.microsoft.com/ja-jp/library/cc440190(v=vs.71).aspx



941 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:00:58.55 ID:UgX7F9HB0.net]
https://blogs.msdn.microsoft.com/nakama/2008/12/29/net-part-1/
これかな?

942 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:09:00.23 ID:TvjmwwI20.net]
>>922
赤間さん?

943 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:12:55.00 ID:TvjmwwI20.net]
「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。」
これよ、これ。例外処理の本質。

944 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:42:49.26 ID:xly4dgsP0.net]
>>924
そうはいってもファイルが読めないだけで例外だすじゃん

945 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:52:08.84 ID:RoulHjpBa.net]
>>922
ああこの記事ね。
個人的にはあんまりロジカルじゃないと思うんだよねこの記事。
読んでいて感じるいくつかの「なぜ」に対する答えがない

(1) エラーを業務エラーとそれ以外に大別するのはいいとして、なぜ前者に例外機構を
使ってはいけないのか?

(2) なぜ集約例外ハンドラーみたいなスパテッティーを推すのか。
そもそもそういうスパゲッティーを避けるための仕組みが例外機構ではなかったのか?

(3) いくら何でも
「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません」
これは言い過ぎではないのか。

946 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:59:38.87 ID:sDEQ50LK0.net]
>>926
(3)は吹いたわwww

947 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:12:12.00 ID:5Sua66ij0.net]
リトライとかの回復処理は全部ライブラリー内で完結してることが前提なんだろうな。
言いたいことは分からないでもないけど、想定しているアプリがすごく狭い気がする。

948 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:39:40.25 ID:GDhCJlyO0.net]
アプリケーションってよりビジネスロジックって言いたかったのかね

949 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:49:10.60 ID:fgQ02ied0.net]
>>926
(1)や(3)はコメントで回答されてるんじゃないの?

集約例外ハンドラーは業務エラーを戻り値で表現しようと
例外で表現しようと必要じゃない?

950 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:51:14.59 ID:sDEQ50LK0.net]
>>930
必要だってのと推奨するのとは違うだろ



951 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:52:06.64 ID:6FoY61ET0.net]
てか集約例外ハンドラーがスパゲッティってどういうこと?
エラーメッセージやログ処理して終了するだけのごく短いコードだと思うけど違うの?

952 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 00:52:33.36 ID:voxzxgu2r.net]
>>925
ヘルスバーグも筆の誤り

953 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 06:29:36.68 ID:6qywALcU0.net]
>>928
例外に落ちた時点で回復可能なエラーって限られてるぞ。
ファイルがロックされて書き込めないとか。
殆どは回復不能だし、デッドロックにしてもリトライするより適切にロックしているかやロジックを見直す必要があるだろうし。
ま、例外の原因で一番多いのは自分の仕込んだバグだw

954 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 08:53:17.37 ID:2nM3KO37M.net]
>>932
集約例外に回復コードを仕込もうと思ってるんだろ。

955 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:00:15.83 ID:I56lauc90.net]
くそベンダーにありがちwww

956 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:23:10.12 ID:2nM3KO37M.net]
糞ベンダーは、全てのメソッドにtry-catchを入れるコーディング規約。

957 名前:デフォルトの名無しさん [2017/11/06(月) 16:16:18.79 ID:sVTioIv70.net]
ネットで更新してるアプリってテキストファイルの文字読み込んでプログラミングしてるんだなその方が変更しやすいのか?

958 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:30:29.32 ID:2nM3KO37M.net]
>>938
エスパー登場を待とう

959 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:33:56.53 ID:RoDWv0Jka.net]
>>938
勘違いです

960 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:36:08.18 ID:Z+IOadg3M.net]
ランチャー的なフォームから小画面を起動するフォームアプリを作ったのですが、小画面大量に出すと重くなります。小画面毎に別スレッドで起動する方法を教えてください



961 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:37:41.80 ID:RoDWv0Jka.net]
設計が間違ってます
小画面を大量に出さないようにしましょう

962 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:43:20.86 ID:Vd7vqFxu0.net]
小画面の意味がわからないし、大量とはどのくらいなのかもわからない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<263KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef