经常用的是:
try{
***
}catch(Exception e){
e.printStackTrace();
System.out.println("error");
}
在catch中可以任意打出信息
try{
***
}catch(Exception e){
e.printStackTrace();
System.out.println("error");
}
在catch中可以任意打出信息
调试欢乐多
猪 因为返回的是16进制的数
需要与0xFFFF位运算才能得到10进制的值
猪 因为返回的是16进制的数
需要与0xFFFF位运算才能得到10进制的值
=========================
鄙视一下楼上的
自己不懂还在这里装懂
低16位包含了具体错误代码
最高位是符号位第一个e.number>>16 & 0x1FFF是取得高15位
e.number & 0xFFFF是取得低16位,舍弃高16位
”0xFFFF“是16进制没错啊,楼上的,不对吗他说的??
try{}catch{}并不是Java的专利,C++也有啊,C#里面也有啊,就连VB.Net里面也有
=================================
这个,偶无语
至于为什么要跟0x1FFF运算…………
CSDN里面没有贴图功能,那偶也说不好了(偶就这么点水平,呵呵)还是你自己看书学习的好
&是按位与函数,他可以通过与置位算子进行运算后保留需要的位置的数,这样的应用在很多领域要用到,可以大量节约数据量,
比如你一个e.number用二进制表示为
0101 0000 0000 0110 0001 0011 1001 0001
上面是高16位的值 这是低16位的值
则e.number>>16 & 0x1fff 就是0101 0000 0000 0110 与
0001 1111 1111 1111 进行按位与运算,结果是
0001 0000 0000 0110 也就是十进制的10,注意,其实e.number >>16 后还是一个32位的整数,不过0x1fff把其他位都屏蔽了,高16位都是0。e.number & 0xFFFF 就是0101 0000 0000 0110 0001 0011 1001 0001 与
0000 0000 0000 0000 1111 1111 1111 1111 按位与运算,结果是
0000 0000 0000 0000 0001 0011 1001 0001 也就是十进制的5009
注意,这两个计算中e.number的最高三位010没有使用