java throw error
异常
异常存在的目的
看一下C语言的出错处理方式
int f() {
f1();
f2():
f3();
}//如果在每个函数后都增加出错的判断(如果是正常逻辑可以走不同的分支)并释放资源,那这个函数内会有太多与主干无关影响清晰阅读的代码存在,而且过多return有时会使得资源的忘记释放,
C语言常见的做法是使用goto
int f() {
if (f1() < 0 ) goto end;
f2():
f3();
end:
...
}但如果函数f1和f2,f3需要不同的错误处理,那恐怕要增加多个标签,或者在if后边增加变量并在end后通过变量来判断,不过有if存在这样还是影响清晰
另一种做法是使用包裹宏或者包裹函数
int f() {
if_false_return (f1() , -1);//包裹宏,执行出错返回给定值,不过在C语言内这似乎是一个比较理想的做法
if_null_break(f2()):
f3();//包裹函数,不过只能提供退出程序的操作,很多时候我们需要的是return操作
end:
...
}//似乎阅读起来也并不舒服,
最理想的方式是在函数主干逻辑外捕捉出错的问题,在Java中使用了抛出异常的方式,
try {
//主干逻辑
}
catch() {
//错误处理
}//还有没有一种更理想的方式,连try都不用(这个try{}看起来有点怪),譬如函数式不会出错那样,可譬如打开文件总是会出错的。
有时候我并不想函数的返回值异常时立即不执行下边的语句并跳入catch,而是想根据异常值进行调整呢?那使用异常就不好用了,还是要根据返回值判断。
譬如使用这种语法方式
f() {
f1();
f2();
...;
}
f_e() {
...;//完全在另一个函数内进行异常的捕捉呢
}
或者
f() {
f1();
f2();
...;
catch:
switch class_e {
case e1:
...
}
}//RUBY中是如何实现的呢,LUA中呢?
C
f() {
if (open_file1_error)
}
相关文档:
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
M ......
运行 bat(批处理) 文件
(不确定,我自己的简单demo是java可以执行批处理文件的)
Java 对批处理文件还不支持。刚开始一直在研究 Java 如何调用批处理文件,始终找不到解决方法。后来只好绕过批处理,考虑如何将批处理转换为exe可执行文件。然后再通过J ......
\n 换行(\u000a)
\t 水平制表符(\u0009)
\b 空格(\u0008)
\r 回车(\u000d)
\f 换页(\u000c)
\' 单引号(\u0027)
\" 双引号(\u0022)
\\ 反斜杠(\u005c)
\ddd 三位八 ......
Java 标准与规范
本栏目提供了大量的 Java 技术标准与规范的简介、官方网址以及 developerWorks 网站上相关的技术资源。通过本栏目,您不但可以了解当前 Java 社区主要的技术标准和规范,还可以通过查看相关的技术文章和教程进行更深入的学习,从而更好地为实际的 Java 项目进行技术选型。
A B C D E F ......
【转贴】Java 3D游戏开发主要技术
注:本贴转自转载自 长不大的人 的QQ空间,题目如题!
本文链接为:http://user.qzone.qq.com/7965122/blog/1234685218
1,Java3D
作为sun公司较早推出的一项3d技术,是一种高度封装的api,构建在opengl和direct3d之上,可以说是最有名的java的3d技术。由 ......