[問題] exception問題

作者: phycheout (等待紅顏老)   2016-11-12 16:32:33
寫了一個簡單的stack implementation
這個stack是固定size的
當stack滿的時候,若是user還想要push東西進去時
我就拋一個exception出來
但是Java中我找不到相對應的Exception可以用
同理,我寫了一個heap implementation
也是fixed size
也遇到一樣的問題
請問有人能跟我說這種異常要用哪種才對
還是得自己在寫一個exception的class
作者: ssccg (23)   2016-11-12 17:49:00
IllegalStateException
作者: pttworld (批踢踢世界)   2016-11-12 20:09:00
IndexOutOfBoundsException
作者: ssccg (23)   2016-11-13 00:14:00
Collection.add https://goo.gl/sb5fWBList.add(int, E) https://goo.gl/mzD9o1IndexOutOfBounds是用在參數有index,但輸入值在範圍外時以Collection列的那些就IllegalState符合吧不然就是自己生一個了,BufferOverflowException其實滿合的但是在nio package
作者: ripple0129 (perry tsai)   2016-11-13 04:15:00
不就先不要catch讓它跳exception就知道預設是那個了
作者: ssccg (23)   2016-11-13 04:50:00
自己的implementation怎麼會有預設的..當然如果是用固定size的array然後不檢查range的實作方式的話那當然就會是IndexOutOfBounds
作者: pttworld (批踢踢世界)   2016-11-13 10:40:00
使用array實作,一個變數當size。ary[sz] = push object實作在這一行就會爆例外。原po是自己的實作想借用既有的例外,沒說明實作的儲存。
作者: ssccg (23)   2016-11-13 12:10:00
其實用什麼都沒差,javadoc寫清楚就好...
作者: ripple0129 (perry tsai)   2016-11-13 18:10:00
既有的隨便吧不然要清楚點自己寫個PopIndexOutOfRange,這種東西使用的人看的懂比什麼都重要
作者: phycheout (等待紅顏老)   2016-11-14 06:24:00
illegalSatateException不錯,蠻符合語意的,感謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com