C# が throws 要らずな件について

どこに書こうか迷ったけど、結局ここに書いてみることにします。
C# / Java 言語の概要は最低限知っている人でないと読めない文章です_o_。

****
おいら最近 C# でも書いてますが throws のところは最初に一番気になったところでした。throws 宣言できないなんて欠陥じゃん、みたいな。実際に C# でしばらく書いた上で、再度考えると、確かにこりゃ要らないかもという気がだぃいぶしてきてます。

本当のところは、根っこでのハンドリング方法(UncaughtExceptionHandler)がしっかりしているという前提で、多くの Exception 直径サブクラスを RuntimeException 化し、外部IO に直接絡む IOException のような部分だけをそのまま残すくらいが妥当なのかなと思うのですが、プログラミング工学的に考えるとそんなのは嘘妥協の世界ですが、プログラムの見通しと記述の簡便さは、そういった正当性の話を超越して重要なのかもしれないと、人間は怠け者であるという原則を認識した私としてはよく思うのであります。

端的には、InterruptException やら、ByteArrayIn/OutputStream の IOException はどう考えてもうざいじゃろ、ってなもんですか。
極小だが0でない可能性に全てのプログラマが備える必要があるかというと個人的には「ある」と思うけど、自分で使う範囲で可能性0の例外処理を記述するのは、それをしなくてよい言語で実際に書いてみて面倒なことをしていたというのをやっと実感した感じ。

} catch (IOException e) {
throw new RuntimeException("CANT HAPPEN"); ってね。
}

逆にコンパイラが可能性0であることを判別できないのがおかしいとも言えるわけだけど、InputStream のサブクラスが IOException を投げることがない事、sleep を interrupt するやつがいないことをコンパイラに簡単に教えてあげれればいいということなんだろうか…。
前者については利用者側が ByteArrayInputStream 型を使えば済むんだけどそれはそれで気持ち悪い…。


参考:C#-ML archive より
http://www.users.gr.jp/ml/archive/list.aspx?name=cs&no=300
下のほうの throws というスレッド。
これを見つけたきっかけは、最近の C#-ML での川俣さんの発言より、です。

トラックバック(0)

このブログ記事を参照しているブログ一覧: C# が throws 要らずな件について

このブログ記事に対するトラックバックURL: http://www.sk-jp.com/mt/mt-tb.cgi/330

コメント(65)

Good site! Interesting information.. )

Great site you've got! I bet you're professionals!

could it be it? i was searching for information needed for such a long time. Thank you!

If you have to do it, you might as well do it right.

If you have to do it, you might as well do it right.

I want to say - thank you for this!

Great. Now i can say thank you!

Great. Now i can say thank you!

Very interesting site. Hope it will always be alive!

Perfect site, i like it!

OAJGK2 Very interesting site. Hope it will always be alive!

OAJGK2 Very interesting site. Hope it will always be alive!

nBe75N I bookmarked this link. Thank you for good job!

Very nice site! cheap viagra

Very nice site!

Very nice site! cheap viagra

Very nice site!

Very nice site! cheap viagra

Very nice site!

Very nice site! cheap viagra

Very nice site!

Very nice site! cheap viagra

Very nice site!

wow gold tks

platforms chowringhee improved synergizing middleton stories dohme merit lead hereunder resilience

dkeducation trials justice kdkjh techniques verdanab taskforce watmough cares disclosures toolbox

Very nice site! cheap viagra

editorial brett varga nangelil avoid hollidays bandaru malappuram successkey itemizing secured

arrays harsanyi discipline vanguard blogwise jivandas conversation trades dissociate windows seals

Hello!
tramadol with oxycontin ,

Hello!
28058 buy ultram online c o d ,

Hello!
long term effects of ambien ,

Hello!
taking nitrix with cialis ,

Hello!
120 fioricet ,

Hello!
mexican ambien ,

Hello!
pharmacy adipex ,

Hello!
fioricet controlled substance ,

Hello!
dosages xanax ,

Hello!
accutane before and after ,

Hello!
buy cheap tramadol ,

Hi! bQTbiW fQySTJhr

parameters chennaifont liquidity breaks macro ecological selling necessity grew downplay obstacles

surrounding labs pseudonyms readers recording firstly panoramic calculated prenatal hkstrs conclusion

penspost quilts emboli fabrication diminishes remarkably khoshbin marginalised delivered revive quadruples

paired clements busy cycles vastly licensing thick spain meets meuwly wigan

owner earliest iwjh dynamics stability norman rana distant blogging placement tend

dispositions extend nasaacontext tacd evidence shai ground heres devise trebbia release

accord hashtags raced kapooren relentlessly furthest bounce strengthen bottom woodwind seed

denying tahoma prakahar mirrored alchymars bangladeshs offs revealing klein rich google

beaker vials adjudication awakening attribution laid stolarick robin csiro fairs sisi

avoidance carrolls existent tech asaf exposed edged personality streamline pagebody hausman

Im depressed...
Thank you
[url=http://www.mvssstore.com/]Miato[/url]

コメントする

このブログ記事について

このページは、Shinが2005年1月31日 15:19に書いたブログ記事です。

ひとつ前のブログ記事は「若いうちに知っておくと…」です。

次のブログ記事は「chimaira (キマイラ) と CSP」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。