啊o额iu鱼
啊o额iu鱼
Talk
关注数: 26
粉丝数: 595
发帖数: 39,751
关注贴吧数: 75
【吧龟】吧龟暂无,大家随意…… 吧龟…… //啊o额iu鱼召唤术……@TTHHR @DXKite .
【惊天bug?】关于导入包的,java.io.* 害我昨天纠结了一中午,难道是我搞错了?怎么可能……
【惊天bug】关于导入类的,FileReader 害我纠结了一中午,难道是我搞错了?怎么可能……
【JAVA】文件操作…… JAVA好多类和方法,搞来搞去还是没搞清楚……
【水楼】水经验专用楼,各种随便刷…… 积攒人气……
【JAVA】String StringBuffer c++也有String,由于习惯了char*,String约等于没学,补上……
【求测试】CPU使用频率悬浮窗…… 写了个悬浮窗显示CPU使用频率的,y320t居然不能用的,打开系统路径 /sys/devices/system/cpu/cpu0/cpufreq/ 居然没东西……
【安卓】获取系统信息,如CPU使用频率…… //可以直接查看系统文件…… /*@Override public boolean onTouchEvent(MotionEvent event) { t.setX(event.getX()); t.setY(event.getY()); // TODO: Implement this method return super.onTouchEvent(event); } */ /*private class CpuManager { // 获取CPU最大频率(单位KHZ) // "/system/bin/cat" 命令行 // "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" 存储最大频率的文件的路径 public String getMaxCpuFreq() { String result = ""; ProcessBuilder cmd; try { String[] args = { "/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" }; cmd = new ProcessBuilder(args); Process process = cmd.start(); InputStream in = process.getInputStream(); byte[] re = new byte[24]; while (in.read(re) != -1) { result = result + new String(re); } in.close(); } catch (IOException ex) { ex.printStackTrace(); result = "N/A"; } return result.trim(); } // 获取CPU最小频率(单位KHZ) public String getMinCpuFreq() { String result = ""; ProcessBuilder cmd; try { String[] args = { "/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq" }; cmd = new ProcessBuilder(args); Process process = cmd.start(); InputStream in = process.getInputStream(); byte[] re = new byte[24]; while (in.read(re) != -1) { result = result + new String(re); } in.close(); } catch (IOException ex) { ex.printStackTrace(); result = "N/A"; } return result.trim(); } // 实时获取CPU当前频率(单位KHZ) public String getCurCpuFreq() { String result = "N/A"; try { FileReader fr = new FileReader( "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"); BufferedReader br = new BufferedReader(fr); String text = br.readLine(); result = text.trim(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; } // 获取CPU名字 public String getCpuName() { try { FileReader fr = new FileReader("/proc/cpuinfo"); BufferedReader br = new BufferedReader(fr); String text = br.readLine(); String[] array = text.split(":\\s+", 2); for (int i = 0; i < array.length; i++) { } return array[1]; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } }*/
【安卓】时间悬浮窗…… 悬浮窗显示时间,运行全屏软件时也能看时间……
悬浮窗要怎么搞? 我想搞一个时间悬浮窗,百度来一个悬浮窗的例子,改成显示时间,然后弄到安卓2.3的机子上,解析包错误,没改动也是解析包错误,难道这个悬浮窗用到了什么安卓4.x特有的东西?
大型日经贴,14.5 本来想叫月什么的,貌似有点难听……
日经贴,4.29…… 唉……
资源导航贴,1.0…… 导航……
日经贴,4.28…… 差点又忘了……
【纯C】文本加密器
文本加密器纯c http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fshare%2Flink%3Fshareid%3D2094953176%26uk%3D1076105201&urlrefer=cd3926e399da026ec253c3c556ec3d7f
总觉得,热水中加冷水和冷水中加热水,前者最终温度要更高些…… 能量守恒的话,不应该啊,考虑热水蒸发快的话,也是后者温度高啊……
日经贴,4.27…… 神马情况?昨天又忘了……
【错题集】 貌似有点迟了,但是还是按我的风格整理些东西在这里……
【求】各大学计算机专业在福建的录取线…… 大学都不认识,百度只能一个一个找,有没有现成的大表,详细的……
日经贴,4.25…… 想写个文本加密算法,但又没时间……
日经贴,4.24……
什么都没了? 难道是有不好的东西被发现了?
日经贴,4.23…… 今天流量卡到期,又要买流量了,300M都是10元,好贵的说……
日经贴,4.22…… 昨天又忘了,赶紧趁夜发了……
c语言,c++异常处理机制…… C语言中的异常处理 一 前言: 异常处理,对于做面向对象开发的开发者来说是再熟悉不过了,例如在C#中有 try { ... } catch( Exception e){...} finally{ ..... } 在C++中,我们常常会使用 try{} ... catch(){} 块来进行异常处理。 说了那么多,那么到底什么是异常处理呢? 异常处理(又称为错误处理)功能提供了处理程序运行时出现的任何意外或异常情况的方法。 异常处理一般有两种模型,一种是"终止模型",一种是"恢复模型" "终止模型": 在这种模型中,将假设错误非常关键,将以致于程序无法返回到异常发生的地方继续执行.一旦异常被抛出,就表明错误已无法挽回,也不能回来继续执行. "恢复模型": 异常处理程序的工作是修正错误,然后重新尝试调动出问题的方法,并认为的二次能成功. 对于恢复模型,通常希望异常被处理之后能继续执行程序.在这种情况下,抛出异常更像是对方法的调用--可以在Java里用这种方法进行配置,以得到类似恢复的行为.(也就是说,不是抛出异常,而是调用方法修正错误.)或者,把try块放在while循环里,这样就可以不断的进入try块,直到得到满意的结果. 二 面向对象中的异常处理 大致了解了什么是异常处理后,由于异常处理在面向对象语言中使用的比较普遍,我们就先以C++为例,做一个关于异常处理的简单例子: 问题:求两个数相除的结果。 这里,隐藏这一个错误,那就是当除数为0时,会出现,所以,我们得使用异常处理来捕捉这个异常,并抛出异常信息。 具体看代码: 1 #include <iostream> 2 #include <exception> 3 using namespace std; 4 class DivideError:public exception 5 { 6 public : 7 DivideError::DivideError():exception(){} 8 const char* what(){ 9 return "试图去除一个值为0的数字" ; 10 } 11 12 }; 13 double quotion(int numerator,int denominator) 14 { 15 if (0 ==denominator) //当除数为0时,抛出异常 16 throw DivideError(); 17 return static_cast< double>(numerator) /denominator; 18 } 19 int main() 20 { 21 int number1; //第一个数字 22 int number2; //第二个数字 23 double result; 24 cout<< "请输入两个数字:" ; 25 while(cin>>number1>>number2){ 26 try{ 27 result=quotion(number1,number2); 28 cout<< "结果是 :" <<result<<endl; 29 30 } //end try 31 catch(DivideError &divException){ 32 cout<< "产生异常:" 33 <<divException.what()<<endl; 34 } 35 } 36 37 } 38 在这个例子中,我们使用了<expection>头文件中的exception类,并使DivideError类继承了它,同时重载了虚方法what(),以给出特定的异常信息。 而C#中的异常处理类则封装的更有全面,里面封装了常用的异常处理信息,这里就不多说了。 三 C语言中的异常处理 在C语言中异常处理一般有这么几种方式: 1.使用标准C库提供了abort()和exit()两个函数,它们可以强行终止程序的运行,其声明处于<stdlib.h>头文件中。 2.使用assert(断言)宏调用,位于头文件<assert.h>中,当程序出错时,就会引发一个abort()。 3.使用errno全局变量,由C运行时库函数提供,位于头文件<errno.h>中。 4.使用goto语句,当出错时跳转。 5.使用setjmp,longjmp进行异常处理。 接下来,我们就依次对这几种方式来看看到底是怎么做的: 我们仍旧以前面处理除数为0的异常为例子。 1.使用exit()函数进行异常终止: 1 #include <stdio.h> 2 #include <stdlib.h> 3 double diva( double num1, double num2) //两数相除函数 4 { 5 double re; 6 re=num1/num2; 7 return re; 8 } 9 int main() 10 { 11 double a,b,result; 12 printf("请输入第一个数字:" ); 13 scanf("%lf" ,&a); 14 printf("请输入第二个数字:" ); 15 scanf("%lf" ,&b); 16 if (0 ==b) //如果除数为0终止程序 17 exit(EXIT_FAILURE); 18 result=diva(a,b); 19 printf("相除的结果是: %.2lf\n" ,result); 20 return 0; 21 } 其中exit的定义如下: _CRTIMP void __cdecl __MINGW_NOTHROW exit (int) __MINGW_ATTRIB_NORETURN; exit的函数原型:void exit(int)由此,我们也可以知道EXIT_FAILURE宏应该是一个整数,exit()函数的传递参数是两个宏,一个是刚才看到的EXIT_FAILURE,还有一个是EXIT_SUCCESS从字面就可以看出一个是出错后强制终止程序,而一个是程序正常结束。他们的定义是: #define EXIT_SUCCESS 0 #define EXIT_FAILURE 1 到此,当出现异常的时候,程序是终止了,但是我们并没有捕获到异常信息,要捕获异常信息,我们可以使用注册终止函数atexit(),它的原型是这样的:int atexit( atexit_t func); 具体看如下程序: 1 #include <stdio.h> 2 #include <stdlib.h> 3 void Exception( void) //注册终止函数,通过挂接到此函数,捕获异常信息 4 { 5 printf( "试图去除以一个为0的数字,出现异常!\n" ); 6 } 7 int main() 8 { 9 double a,b,result; 10 printf("请输入第一个数字:" ); 11 scanf("%lf" ,&a); 12 printf("请输入第二个数字:" ); 13 scanf("%lf" ,&b); 14 if (0 ==b) //如果除数为0终止程序 ,并挂接到模拟异常捕获的注册函数 15 { 16 17 atexit(Exception); 18 exit(EXIT_FAILURE); 19 } 20 result=diva(a,b); 21 printf("相除的结果是: %.2lf\n" ,result); 22 return 0; 23 } 这里需要注意的是,atexit()函数总是被执行的,就算没有exit()函数,当程序结束时也会被执行。并且,可以挂接多个注册函数,按照堆栈结构进行执行。abort()函数与exit()函数类似,当出错时,能使得程序正常退出,这里就不多说了。 2.使用assert()进行异常处理: assert()是一个调试程序时经常使用的宏,切记,它不是一个函数,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。 另外需要注意的是:assert只有在Debug版本中才有效,如果编译为Release版本则被忽略。 我们就前面的问题,使用assert断言进行异常终止操作:构造可能出现出错的断言表达式:assert(number!=0)这样,当除数为0的时候,表达式就为false,程序报告错误,并终止执行。 代码如下: 代码 3.使用errno全局变量,进行异常处理: errno全局变量主要在调式中,当系统API函数发生异常的时候,将errno变量赋予一个整数值,根据查看这个值来推测出错的原因。 其中的各个整数值都有一个相应的宏定义,表示不同的异常原因: 代码 这里我们就不以前面的除数为0的例子来进行异常处理了,因为我不知道如何定义自己特定错误的errno,如果哪位知道,希望能给出方法。我以一个网上的例子来说明它的使用方法: 代码 这里试图打开一个d盘的文件,如果文件不存在,这是查看errno的值,结果是2、 当文件存在时,errno的值为初始值0。然后查看值为2的错误信息,在宏定义那边 #define ENOFILE 2 /* No such file or directory */ 便知道错误的原因了。 4.使用goto语句进行异常处理: goto语句相信大家都很熟悉,是一个跳转语句,我们还是以除数为0的例子,来构造一个异常处理的例子: 代码 5.使用setjmp和longjmp进行异常捕获与处理: setjmp和longjmp是非局部跳转,类似goto跳转作用,但是goto语句具有局限性,只能在局部进行跳转,当需要跳转到非一个函数内的地方时就需要用到setjmp和longjmp。setjmp函数用于保存程序的运行时的堆栈环境,接下来的其它地方,你可以通过调用longjmp函数来恢复先前被保存的程序堆栈环境。异常处理基本方法: 使用setjmp设置一个跳转点,然后在程序其他地方调用longjmp跳转到该点(抛出异常). 代码如下所示: #include <stdio.h> #include <setjmp.h> jmp_buf j; void Exception(void) { longjmp(j, 1); } double diva( double num1, double num2) //两数相除函数 { double re; re=num1/num2; return re; } int main() { double a,b,result; printf("请输入第一个数字:" ); scanf("%lf" ,&a); printf("请输入第二个数字:" ); if (setjmp(j)== 0 ) { scanf("%lf" ,&b); if (0 ==b) Exception(); result=diva(a,b); printf( "相除的结果是: %.2lf\n" ,result); } else printf("试图除以一个为0的数字\n" ); return 0; } 四 总结: 除了以上几种方法之外,另外还有使用信号量等等方法进行异常处理。当然在实际开发中每个人都有各种调式的技巧,而且这文章并不是说明异常处理一定要这样做,这只是对一般做法的一些总结,也不要乱使用异常处理,如果弄的不好就严重影响了程序的效率和结构,就像设计模式一样,不能胡乱使用。 作者: Sirk 出处: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.cnblogs.com%2Fvimsk&urlrefer=8407cf570abd3e75c577b3caa7edb7ad 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
安卓游戏开发笔记…… 记些东西……
日经贴,4.20…… 今天星期天,上午还有家长会,我该几点起床呢?
求3d神器…… 精品贴有个有分享,不过被取消了,大家还有吗?
原码反码补码…… 所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。 原码10010= 反码11101 (10010,1为符号码,故为负) (11101) 二进制= -13 十进制 补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
日经贴,4.19…… 上午考数学英语, 数学挺简单的,结果填空题还是错了两题,最后一步,我怎么突然就没想到伸缩变换呢? 英语有些感觉了,希望能及格吧……
日经贴,4.18…… 赶紧发了,不然又忘了……
控件setX函数,安卓4.0能用,2.3不能用? TextView控件的setX,一架手机可以一架不行…… 好纠结,这是怎么了……
日经贴,4.17 昨天又忘了……
日经贴,4.15…… 突然发现,昨天忘了,今天也差点忘了……
省质检成绩…… 考的好差……
我的百度云分享 百度云老出问题,我把分享的链接在这里留一份……
Android /res/values/colors.xml 网上转载的……
Android 自带图标库 android.R.drawabl 转载的……
日经贴,4.13…… 今天没上课,该干什么呢……
【求源码】想学安卓开发,希望能先看看安卓游戏源码…… 最好是那种,小小的,简单的,像素鸟那样的,谢谢……
echo 用法…… c4droid的printf也能用…… ✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍
新人欢迎发帖,置顶一天喔…… 欢迎光临我的水吧,有事没事请关注本吧,说不定有一天就火了呢?
日经贴,4.12…… 高三星期六要上课…… /** ✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍ */
日经贴,4.11…… 差点忘了…… /** ✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍ */
AIDE有没有缩进代码的功能? 就是,点一下 吧自动缩进清清楚楚…… 手打的代码他会弄的整整齐齐,但是如果是复制来复制去的代码,就乱七八糟的了……
开机3震是怎么回事啊!!!! 有救吗?
日经贴,4.10 今天没上课……
日经贴,4.9 快递还没到…… 该死的天天快递,打电话没人接……
尾巴神兽……
【水】手机还没到…… 好人性化的天天快递,肯定是知道我这两天考试,等我明天考完他才来……✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍
好人性化的天天快递…… 肯定是知道我这几天考试,故意不送过来……
每天一帖,为了吧主……
回答问题…… @be148TTN G++参数改成这样…… 其实就多一句 -std=c++11…… cd (c4droid:GCCROOT)tmpdir export TEMP=(c4droid:GCCROOT)tmpdir (c4droid:GCCROOT)bin/(c4droid:PREFIX)-g++ (c4droid:SRC) -std=c++11 -lm -ldl -llog -lz -I(c4droid:CURSRCDIR) -Wfatal-errors (c4droid:MODEARGS) -o (c4droid:BIN) (c4droid:ERROUT)
又申请了一次实习吧主…… 不要再被撤销了……
又拍了个手机…… 淘宝150……
又发现一个单词问题,还是using "Uing" the variables in the previous exercise, which of the following assignments are legal?
估个价,犹豫出不出…… 自用手机…… /** ✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍ */
4G支持蓝牙手柄吗? 没用过蓝牙设备,想买个蓝牙手柄,不知道支持不支持…… /** ✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍ */
神奇的字符串…… //复制回去可以运行信不信…… #include <stdio.h> int main(int argc, char *argv[]) { printf("���ڵ��开始变\n"); char s[66]="���ڵ��开始变"; for(int i=0;i!=20;++i) printf("%x;",s[i]); return 0; } /** ✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍ */ /** ✎﹏﹏……﹍﹍ ﹏﹏﹏啊o额iu鱼✍ */
首页
7
8
9
10
11
12
下一页