初学者请教

seamewxt 2001-12-28 10:01:25
我是JAVA初学者,在学自定义的例外类时遇到如下问题:
下面是一个自定义的例外:

class MyException extends Exception{
static int InstanceNumber=0;

MyException(int j) throws MyException{
if (j%2){
throw new MyException();
InstanceNumber++;
}
}

String Say(){
return "I'm MyException."+InstanceNumber+"!";
}
}


class UseMyException{

public static void main (String[] args)
{
MyException My=new MyException( );
int i;
System.out.println ("test my exception");
for (i=0;i<7;i++){
try{
My.MyException(i);
}
catch(MyException e){
System.out.println("A exception\n"+My.Say());
}
System.out.println("test end.");
}


}
}

输出结果是:
Test my exception:
A Exception!
I'm MyException!
A Exception!
I'm MyException!
A Exception!
I'm MyException!
test End!
为什么“test end"只输出一次呢?不是在for 循环之内吗?
代码是清华大学的《VJ6++入门提高》中的。
...全文
45 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxj_guitar 2001-12-29
  • 打赏
  • 举报
回复
代码有误
这是我重新写过的
class MyException extends Exception{
static int InstanceNumber=0;

MyException(String message){super(message)}
void run(int j) throws MyException{
if (j%2!=0){
InstanceNumber++;
throw new MyException();

}
}

String Say(){
return "I'm MyException."+InstanceNumber+"!";
}
}


public class UseMyException{
public static void main (String[] args){
int i;

MyException My=new MyException();
System.out.println ("test my exception");

for (i=0;i<7;i++){
try{
My.run(i);
}catch(MyException e){
System.out.println("A exception\n"+My.Say());
}
System.out.println("test end.");
}
}
}
现在很多做透明加解密的初学者都比较困惑,不知从何下手,我也是如此,从什么都不会开始,慢慢肯文件系统内幕,到OSR上面请教,四个月的时间还是收获颇丰。其实真正研究以后会发现,很多都是体力活,要不断的去跟踪文件的操作流程。在这里发一个基于minifilter的透明加解密的驱动源码仅供大家参考,其中也实现了对文件标识的处理,文件标识放在文件尾部。算是抛砖引玉吧。坦白的说,这个代码并不稳定(偶尔与norton杀毒软件会有冲突),但是我觉得整个流程是正确的,可能有些细节还没有考虑清楚,我觉得对初学者还是有一定帮助吧,当然大虾们可以跳过,呵呵。另外,有关加解密算法的代码由于不是我写的,也不好公开,所以我把相关代码用“\\\”给注释掉了(但没有去掉),请大家见谅,不过不会对整个流程产生影响。大家可以重点看一下各个派遣函数的实现。 欢迎大家拍砖,觉得有点意思就顶一下啊,在看代码的过程中如果有什么好的建议,也希望能告诉我。 最后非常感谢XiangXiangRen,zzbwang,neak47等网友在这段时间内对我的帮助。XiangXiangRen的书以及zzbwang的帖子对我完成这项工作有很大的帮助和参考价值,在此谨与大家分享。 编译环境:WDK6001.18002 XP x86 PS: 您可以将附件中的代码进行修改和转发,但转发时请注明出处。 http://bbs.driverdevelop.com/htm_data/39/1001/119736.html

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧