首页 > 编程知识 正文

java类型转换异常,java如何实现输入

时间:2023-05-04 09:06:05 阅读:156126 作者:3236

异常:可与常态不同,与正常形态不同,有错误。 阻止当前方法和作用域。

Exception是所谓的异常。 这是因为在编码、环境和用户操作输入方面存在问题

try……catch捕获异常并进行处理

抛出异常的代码将终止执行,程序的控制权将传递给catcha块中的异常处理代码

例如:

如果输入的类型不是整数,则会发生输入类型不匹配异常,执行catch代码块,显示“应该输入整数!然后继续执行以下代码

如果try抛出多种类型的异常?

注意: catch按从子类到父类的顺序捕获小异常,然后捕获大异常。 否则,将发生错误,如下图所示

在以下情况下顺序是错误的:

try…catch…finally

finally可实现连接和磁盘文件关闭等资源回收

注:在finally块中使用return或throw语句会导致try块catch块中的return、throw语句无效

一般例外类型

IndexOutofBoundsException:序列越界异常

NumberFormatException:数字格式异常

ArithException:算术异常,例如除数为0

访问异常信息

getmessage(: )返回此异常的详细说明字符串

打印堆栈跟踪() :将此异常的跟踪堆栈信息输出到标准错误输出

打印堆栈跟踪(打印流) :将该异常的跟踪堆栈信息输出到指定的输出流中

getStackTrace () :返回此异常的跟踪堆栈信息

抛出异常

使用throws语句声明异常后,程序就不必使用try.catch捕获异常

自定义异常

如果定制runtime异常,则必须继承RuntimeException基类并提供两个构造函数来定义异常。 一个是无参数的构造函数。 一个是具有字符串参数的构造函数,字符串参数是异常对象的描述信息。 这也是异常对象的getMessage ()方法的返回值

例如:

publicclassauctionexceptionextendsexception {

//没有参数的构造函数

公共自动执行() {}//1

//具有一个字符串参数的构造函数

publicauctionexception (string msg )//2

super(msg; 从super调用父类构造函数,并将此字符串参数传递给异常对象的消息属性。 此消息属性是该异常对象的详细描述信息。

}

}

异常链

异常连锁:将捕获的异常包装成一个新的异常,然后在新的异常中增加对原异常的引用,抛出该新异常,如同连锁反应,一个引起另一个

范例

从JDK 1.4开始,所有Throwable子类都可以在构造函数中将cause对象作为参数接收。 此cause用于表示原始异常。 这样,可以将原始异常传递给新异常,即使在当前位置创建并抛出新异常,也可以使用此异常链跟踪第一次出现异常的位置。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。