首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

//请教一下为什么不能捕获到这个益出错误呢

2012-01-10 
//请问一下为什么不能捕获到这个益出异常呢?publicclassTy{publicstaticvoidmain(Stringargs[]){try{bytei

//请问一下为什么不能捕获到这个益出异常呢?
public   class   Ty
{
public   static   void   main(String   args[])
{
try
{
byte   i=128;
}
catch   (Exception   e)
{
System.out.println( "overflow ");
}

}
}
//请问一下为什么不能捕获到这个益出异常呢?

[解决办法]
byte 是有符号的,当然不会异常了
[解决办法]
不好意思,能说明白点吗,我刚开始学习java刚学到异常这一节.
[解决办法]
128是个常量,是int类型的
而lz定义的i是byte类型的
把int类型赋值给byte类型的,这种赋值编译都不能通过
如果你写成byte i = (byte) 128;实际上只i存的值是-128。
int型的128是二进制 00000000 00000000 00000000 10000000,如果转换成byte,实际上就是取最后一个字节,即10000000,这实际上是byte型的-128。
这里根本就不会有异常抛出。
[解决办法]
1. 楼主充分利用论坛的方式对大家抢分太有帮助了

2. 楼主所使用的java书籍写得的确是太NB了,PF。。。PF。。。
[解决办法]
编译都没过都 怎么可能出现异常
[解决办法]
编译都没过都 怎么可能出现异常

[解决办法]

编译都没过都 怎么可能出现异常

热点排行