[问题] 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