java异常处理有关的问题...急

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java异常处理有关的问题...急相关的知识,希望对你有一定的参考价值。

类Queue表示队列,类中的方法如下表所示。
isEmpty() 判断队列是否为空。如果队列不为空,返回true;否则,返回false。
Enpueue(object newNode) 入队操作。
Dequeue() 出队操作。如果队列为空,则抛出异常。
类Node表示队列中的元素;类emptyQueueException给出了队列操作中的异常处理操作。
【JAVA代码】
public class testmain //主类
public static void main (String args[])
Queue q= new Queue();
q.enqueue("first!");
q.enqueue("second!");
q.enqueue("third!");
_______(1)___________
while(true)
System.out.println(q.dequeue());

catch(_______(2)___________)



class Queue //队列
node m_firstnode;
public Queue()
m_firstnode=null;

public Boolean isempty()
if (m_firstnode==null)
return true;
else
return false;

public void enqueue(Object newnode)//入队操作
node next=m_firstnode;
if (next==null)
m_firstnode=new node(newnode);
else
while(next.getnext()!=null)
next=next.getnext();
next.setnext(new node(newnode));


public Object dequeue()_______(3)___________//出队操作
Object node;
if(isempty())
_______(4)___________//队列为空,抛出异常
else
node=m_firstnode.getObject();
m_firstnode=m_firstnode.getnext();
return node;




class node
Object m_data;
node m_next;
public node(Object data)
m_data=data;
m_next=null;

public node(Object data,node next)
m_data=data;
m_next=next;

public void setObject(Object data)
m_data=data;

public Object getObject()
return m_data;

public void setnext(node next)
m_next=next;

public node getnext()
return m_next;



class emptyQueueException extends_______(5)___________
public emptyQueueException()
System.out.println("队列已空!");



那5个空分别怎样填啊?????急

1.try
2.emptyQueueException
3.throws emptyQueueException
4.throw new emptyQueueException();
5. Exception
参考技术A 楼上正解,不过5认为RuntimeException比较好。 参考技术B (1)try
(2)Exception
(3)throws EmptyQueueException
(4)throws new EmptyQueueException();
(5)Exception
参考技术C (1)try
(2)Exception
(3)throws EmptyQueueException
(4)throws new EmptyQueueException();
(5)Exception

解答一下有关JAVA异常类的问题?

(1)是否可以将try…catch语句中catch捕获的异常更改为Exception?(2)是否可以将try…catch语句中catch捕获的异常更改为java.io.IOException?问题参照图中代码,最好能简要说明一下

    问题(1)可以改为Exception

    问题(2)示情况而定是否可以改为IOException

    原因,原语句中的try...catch..的语义是在try里面的两行语句中捕获可能抛出的DangerException异常并加以处理,

    (1). Exception是DangerException的父类,替换后语义变为了在try里面的两行语句中捕获可能抛出的Exception异常并加以处理,语义是正确的;

    (2). IOException不确定是不是DangerException的父类,替换后语义变为了在try里面的两行语句中捕获可能抛出的IOException异常并加以处理,语义不一定正确,如果IOException是DangerException的父类,就是正确的,否则是错误的(在try里面没有IOException的类型可能被抛出),在编译时会报错(Exception 'java.io.IOException' is never thrown in the corresponding try block)

参考技术A

都不可以.

无论是用Exception,还是用IOException ,直接替换原来代码中的 DangerException ,会报编译错误.因为 DangerException 是一个自定义异常,并且定义了一个toShow()方法,无论是Exception 还是 IOException 类 都是没有这个方法的,所以直接替换是一定会报错的

以上是关于java异常处理有关的问题...急的主要内容,如果未能解决你的问题,请参考以下文章

Java有关异常处理的小程序

下面有关 JAVA 异常类的描述,说法正确的有()

Java笔记:异常处理

解答一下有关JAVA异常类的问题?

下面有关Java异常处理模型的说法错误的是

在java中捕获所有抛出的异常?