プログラミング初心者あるある

1 : 2022/08/29(月) 14:21:14.308 ID:/ROWZKsr0NIKU
例外処理で途端にやる気なくなる…
exなんとか…
2 : 2022/08/29(月) 14:21:46.300 ID:/ROWZKsr0NIKU
try catch(ex exなんとか)
3 : 2022/08/29(月) 14:21:53.129 ID:/ROWZKsr0NIKU
逆か?
4 : 2022/08/29(月) 14:23:02.628 ID:hIeKM9ZP0NIKU
最初に例外処理を扱うのはファイル入出力か
そりゃ当然だろ
お前のプログラムとファイルの間にはどんな邪魔が入るか分からんからな
5 : 2022/08/29(月) 14:26:44.760 ID:UFU1EB2Q0NIKU
俺が使う分には問題ないからヨシ!
6 : 2022/08/29(月) 14:26:45.969 ID:KAR2jWEmaNIKU
初心者が例外処理なんかやるか?
逆に初心者はヘタに例外処理せん方がええで
7 : 2022/08/29(月) 14:27:01.660 ID:/ROWZKsr0NIKU
いやテキストボックスに数字入れたいのに文字入ってたりするときだけど?
8 : 2022/08/29(月) 14:27:57.761 ID:1K9dQfLR0NIKU
>>7
ifで判断すりゃいいじゃん
例外投げる必要がない
10 : 2022/08/29(月) 14:28:54.148 ID:/ROWZKsr0NIKU
>>8
ifよりtry catchの方がいいんじゃないの?
こういうときってifなの?
15 : 2022/08/29(月) 14:30:46.828 ID:1K9dQfLR0NIKU
>>10
わからないならわかる方法で実装しろ
そもそもその程度ならエラー処理するまでもない
9 : 2022/08/29(月) 14:28:25.482 ID:hIeKM9ZP0NIKU
>>7
そんなの強制終了する必要が無いんだから例外処理なんて必要がないだろ
何か間違ってる
13 : 2022/08/29(月) 14:30:02.375 ID:1K9dQfLR0NIKU
>>9
文字列をpreaseIntしようとして例外吐かれてるんだろ
16 : 2022/08/29(月) 14:32:22.093 ID:/ROWZKsr0NIKU
>>13
これ
内部で受け取った文字列をintへ変換してる
このときってif使うのが正解なのか?
17 : 2022/08/29(月) 14:34:28.054 ID:1K9dQfLR0NIKU
>>16
まず入力規則に沿ってるかどうかifで判定しろ
それから変換

それでも取り除けないエラーをtry catchするんだよ

11 : 2022/08/29(月) 14:28:59.527 ID:UFU1EB2Q0NIKU
こういう用語用法間違いも初心者あるあるだよな
12 : 2022/08/29(月) 14:29:48.343 ID:/ROWZKsr0NIKU
なんでtry catchはダメなの?
14 : 2022/08/29(月) 14:30:33.159 ID:hIeKM9ZP0NIKU
>>12
例外処理ってのはプログラムで対応できない問題に対して強制終了することだぞ
なにか勘違いしてんじゃん
18 : 2022/08/29(月) 14:35:10.588 ID:/ROWZKsr0NIKU
>>14
この場合はif使うのか?
lf (文字列が数字であればってこと?)
でもテキストボックスは数字だけどテキスト(文字として拾う可能性があるのでは?)
19 : 2022/08/29(月) 14:35:55.950 ID:/ROWZKsr0NIKU
じゃあどういうときがtry catchなの?
21 : 2022/08/29(月) 14:37:41.588 ID:1K9dQfLR0NIKU
>>19
想定しないエラー、続行不可能なエラーの時
20 : 2022/08/29(月) 14:36:57.369 ID:0968B5gj0NIKU
ただのnumericチェックtry なんかやらんわ
用意された関数か、正規表現でチェックするのはif
想定外のエラーをtryで拾う
22 : 2022/08/29(月) 14:38:49.631 ID:d1HZ2/XvaNIKU
まあテキストボックスの文字列をparseIntして例外発生してエラーメッセージ表示とかはありうるな。
余計な例外までキャッチしたらダメやで。
23 : 2022/08/29(月) 14:40:16.733 ID:0968B5gj0NIKU
チェック省略して強制変換してエラー起きたら「何らかのエラー」は手抜きすぎ
ユーザーからしたら「何らかのエラー」言われても意味分からんよ
24 : 2022/08/29(月) 14:40:50.077 ID:/ROWZKsr0NIKU
try catch{数字を入力してください}
より
elsif{数字を入力してください}
の方がいいの?
25 : 2022/08/29(月) 14:41:07.646 ID:1K9dQfLR0NIKU
>>24
そもそも使い方がおかしい
26 : 2022/08/29(月) 14:41:25.149 ID:/ROWZKsr0NIKU
>>25
というと?
27 : 2022/08/29(月) 14:42:12.626 ID:0968B5gj0NIKU
>>24
何を参考にしてるか分からんけど教材を変えろ
29 : 2022/08/29(月) 14:43:53.346 ID:/ROWZKsr0NIKU

どっちが正しいの?
>>27
まず教材見てない
これユーザーの任意にテキスト変えられるから例外処理いるなぁ…って思っただけ
28 : 2022/08/29(月) 14:42:13.829 ID:SU4dWX3X0NIKU
いや整数に変換できなかったら例外キャッチしろよ
致命的なエラーだろ
33 : 2022/08/29(月) 14:47:41.092 ID:1K9dQfLR0NIKU
>>28
ifで処理してほかの入力規則と一緒にアラート出すだろ
30 : 2022/08/29(月) 14:45:28.186 ID:hIeKM9ZP0NIKU
ユーザーは数字を整数で表したいときがあるんだ
俺にとって0とはあの事なんだって人がいる
そう言う人が現れた時もちゃんとあを0に変換するようなプログラミング能力が必要なのね
32 : 2022/08/29(月) 14:46:54.721 ID:SU4dWX3X0NIKU
整数が必要でその整数がないと処理を継続できないならキャッチしろ
34 : 2022/08/29(月) 14:48:51.741 ID:vHdgbikD0NIKU
提供されてるプログラム呼び出すなら普通にtry catch使うよ
api「てめー、そんなことすんじゃねーよExceptionスローするぞオラァ」
って言われるから後はお前の好きなようにするだけ
「さっせんw上のプログラムに返事返しますわw」でもいいし
>>1の設計クソだな!事前にチェックしてどうにかしろや!俺もExceptionスローしてやるわ!スローするのもお前が書いたんだけどなw」でもいいしな
35 : 2022/08/29(月) 14:49:58.403 ID:/ROWZKsr0NIKU
>>34
何いってんだこいつ…
36 : 2022/08/29(月) 14:51:14.730 ID:/ROWZKsr0NIKU
もうTry Catchでいいよ
else書く方もめんどくさいし
39 : 2022/08/29(月) 14:53:50.510 ID:hIeKM9ZP0NIKU
>>36
君の作ったプログラムはユーザーがちょっとミスっただけで強制終了するようなものなんだぞ
優しさのかけらもない製品になるんだ
42 : 2022/08/29(月) 14:54:55.482 ID:/ROWZKsr0NIKU
>>39
だからTry Catchでいいじゃんって話なんだが?
まぁ実装するの面倒だけど
37 : 2022/08/29(月) 14:51:32.003 ID:/ROWZKsr0NIKU
結局やる気なくなることには変わらないしな
38 : 2022/08/29(月) 14:52:02.740 ID:1K9dQfLR0NIKU
アホなだけやん
40 : 2022/08/29(月) 14:54:07.064 ID:/ROWZKsr0NIKU
>>38
どっちもどっちだろ…
Try Catchの方がまだ楽かなぁって感じ

コメント

タイトルとURLをコピーしました