当前位置: 首页 > 图灵资讯 > 技术篇> 抛出异常教程

抛出异常教程

来源:图灵教育
时间:2023-04-03 15:02:24

现在,假设在程序代码中发生了一些非常糟糕的事情,例如,程序错误或死循环在这种情况下,我们应该学会抛出异常,然后进行异常治疗,就像你生病时必须注册一样。注册后,我们可以去看医生。本文作为抛出异常教程,对异常抛出过程进行了详细的描述。

让我们举一个简单的例子:一个名为 read 读取Data的方法具有下列信息的第一份文件:

Content-length: 1024

然而,读完733个字符后,文件就结束了。在这个时候,我们认为这是一种非正常的情况,希望抛出一个异常

首先,我们应该决定应该抛出什么样的异常。将上述异常归因于I0Exception是一个不错的选择。仔细阅读 Java AP文档后会发现: EoFException的异常描述是“在输入过程中,遇到意想不到的EOF信号”。这就是我们要抛出的异常。以下是抛出这个异常的句子

throw new EoFException();

或者这样写

EoFException e=new EoFException();

throw e;

下面把这些代码放在一起

String readData(Scanner in) throws EoFException

}

...

while (...)

if (!in.hasNext()//EOF encountered

if (n <len)

throw new EoFException();

}

...

}

Return s;

}

EoFException类还有一个需要字符串参数的结构器。该结构可以更详细地描述异常情况。

String gripe ="Content-length: "+ len +" ,Received: ”+n;

throw new EoFException(gripe);

已经在前面看到了,很容易抛出一个已经存在的异常类。在这种情况下:

1)找到合适的异常类别。

2)创建这一类的对象。

3)抛出对象。

方法抛出异常,这种方法不可能返回到调用器。这也意味着没有必要返回默认值或者代码负担错误优了

C++与java,出开常的过程基本相同,只有一点小的差别。在java中只能抛出Throwable 的子类的对象;而在C++,但是可以抛出任何东西类型的值。

相信看完这篇关于抛出异常教程的文章,你会有所收获,有所悟。如果没有也没关系,这个站的java视频课程还有更深层次、更透彻的解释。看完之后,你会学会抛出异常操作。