ä¸éã§ã¯ãªã¯ã³ã³ã¨æ¶æããããã¨ãçãããªã Java ã§ãããJava ãåããã°ããã®ã¨ã³ã¸ãã¢ããã§ãã¯ä¾å¤ã¨éãã§ãã¯ä¾å¤ã®ä½¿ãåãã«ã¤ãã¦ããã¹ããã©ã¯ãã£ã¹ãªãã®ï¼ãã¨èª¿ã¹ãã®ãã¾ã¨ãã¦ã¿ã¾ããã
ã¨ã³ããªã¾ã¨ã
ã©ã®ã¨ã³ããªã Java ã«ã¤ãã¦ã®æ·±ãæ´å¯ã¨éçºã®å®è·µç¾å ´ã§ã®çããçµé¨ããã¨ã«æ¸ããã¦ãã¦å¤§å¤ã«åå¼·ã«ãªãã¾ãã *1
ã¨ã³ããªä¸ãããªã³ã¯ããã¦ããã¨ã³ããªããã²ä¸èªããããã¨ããããããã¾ãã
- 検査例外と非検査例外(実行時例外)をどう使い分けるか - Lino Blog
- Java言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指して
- Javaのチェック例外はクソ仕様 - やさしいデスマーチ
- 例外の扱いについて その2 - じゅんいち☆かとうの技術日誌
- 「検査例外はアジャイルやオブジェクト指向の考えに反するという事実」について一部誤解あり - じゅんいち☆かとうの技術日誌
- 非検査例外に萌えるわけ - じゅんいち☆かとうの技術日誌
- Throwableについて本気出して考えてみた - 都元ダイスケ IT-PRESS
- Throwableについて本気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS
- 前提条件を破った場合、どのような挙動をするのか? - 都元ダイスケ IT-PRESS
- 例外について色々と考えてみた - ぐるぐる~
- むかしむかし、あるところにチェック例外という機能があったそうな|システムアーキテクトのごった煮
- Exception Propagation(例外の伝播) - Strategic Choice
- 例外設計における大罪 *2
ä¾å¤ã¨ã®ä»ãåãæ¹
Java ã®ãã§ãã¯ä¾å¤ã¯å¼·åãªæ©è½ã ã¨æãã¾ããã使ãã©ãããé£ããã®ãã¾ãããããã§ãã
ç´ æ´ãããã¨ã³ããªã®æ°ã
ãèªãã çµæãJava ã®ä¾å¤ã¨ã®ä»ãåãæ¹ãè¦ãã¦ãã¾ããã
- ã©ã®ãããªæ¹éã§ãã£ã¦ããçµç¹ (ããã¸ã§ã¯ã) ã§ã¯çµ±ä¸ãããã¨ã第ä¸ã¨ãã *3
- ææ¡ä¸»ç¾©ã«ã¯é¥ããªãããã«ãã
- å¤æã«è¿·ããã¨ããã£ããå®è·µå´ã«æ¯ãããã¨ãã¾ãèãã
ä¾å¤å¦çã®å®è·µ
ãããããªäººã (èªå²æ°å³ã«) 話ãã¦ããããããã®ã¯ãããªã³ã¼ãã§ãã
Java ã5ã6年使ã£ã¦ãã人ã§ãæ®éã«æ¸ãã®ã ããã§ãããããããã¨ãªã«ãå¬ããã®ã§ãããâ¦
try { /* ä½ããã®å¦ç */ } catch (Exception e) { // YYYY/MM/DD ã¡ã¢ // ãªããã³ã³ãã¤ã«ã¨ã©ã¼ã«ãªãã // ã³ã³ãã¤ã«ã¨ã©ã¼ãåé¿ããããã« try ã catch 追å }
ãå ã¡ããTry?catchã¯ä¾å¤ãé ãããã«ããããããªããã ãï¼ããã¦ããããªã³ã¼ãæ¸ãã¦ããã¨ã³ã¼ãèªãã 人ã«ãå ã¡ããã®é½åã®æªããã¨ãé ãæ§æ ¼ãã°ãã¡ãããï¼
æ§æ ¼ã¯ã¨ããããå
¨ç¶é¢ä¿ãªãã¨ããã§åé¡ã«ãªããã¡ã§ãããã
ããã«ããããã¨ããã§ãããæ¢ã«åãã¦ããã·ã¹ãã ã ã¨ãªããªãé£ãããã¨ãããã®ã§ãããã
"åé¡ãªã" *4 åãã¦ããã°ãããã¾ãã¢ãªãªã®ããããã¾ãããâ¦
*1:2009 ã 2010 å¹´ã«æ¸ããã¦ããã¨ã³ããªã大åã§ãä»ãã調ã¹ã¦ãããã¨ã«ã¯é常ã«å±æ©æãæãã¾ããâ¦
*2:é²å¾¡çããã°ã©ãã³ã°ã¨å¥ç´ã«ããè¨è¨ã«ã¤ãã¦æ¸ããã¦ãã¾ã
*3:ç¾ç¶ã®ã¾ã¾ãã¤ã¾ã§ãããã¨ãããã¨ã§ã¯ãªãã§ã
*4:åé¡ãªããã¨è©ä¾¡ããããã¨