抛出异常
2020-02-09 16:03:49来源:博客园 阅读 ()
抛出异常
更新记录
【1】2020.02.09-18:15
1.完善内容
正文
我们去学习Java的异常处理的时候,肯定写过抛出异常的方法
但是如果你将代码改成这个样子:
public class exception {
public static void test() throws ClassCastException{
int[] arr = new int[-3];
}
public static void main(String[] args) {
int a = 3, b = 0;
System.out.println("start");
try {
test();
}
catch(ClassCastException cce) {
cce.printStackTrace(System.out);
}
catch(Exception e) {
e.printStackTrace(System.out);
}
System.out.println("finish");
}
}
上面的实例中test本应该抛出NegativeArraySizeException异常
然而我们将它改为了ClassCastException
那运行结果怎么样呢?
start
java.lang.NegativeArraySizeException
at exception.test(exception.java:3)
at exception.main(exception.java:9)
finish
从上面的运行结果中,我们可以看出,catch代码块依然正常的接收到了异常信息
那能不能说明catch(ClassCastException cce)与throws ClassCastException正常运作只不过是printStackTrace(System.out)的内容改变了呢?
别急着下结论,先再改改代码观察一下结果
这一次,我们删除catch(Exception e)
public class exception {
public static void test() throws ClassCastException{
int[] arr = new int[-3];
}
public static void main(String[] args) {
int a = 3, b = 0;
System.out.println("start");
try {
test();
}
catch(ClassCastException cce) {
cce.printStackTrace(System.out);
}
System.out.println("finish");
}
}
以下是运行结果:
start
Exception in thread "main" java.lang.NegativeArraySizeException
at exception.test(exception.java:3)
at exception.main(exception.java:9)
结果怎么样?finish没有被输出,也就是说NegativeArraySizeException异常没有被接收到
所以我们可以看出:throws ClassCastException并不是意味着这个类抛出的异常全是ClassCastException异常
也有可能是别的。
另外,直接自定义名称是不可以的,像
public static void test() throws LalalaException{
int[] arr = new int[-3];
}
直接写是不行的,必须实现LalalaException类。
原文链接:https://www.cnblogs.com/zythonc/p/12287997.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:异常输出
- Java笔记:数组,异常,泛型 2020-06-08
- Spring Cloud Gateway 全局通用异常处理 2020-06-08
- SpringCloud异常处理统一封装我来做-使用篇 2020-05-23
- 异常、堆内存溢出、OOM的常见情况及解决方案 2020-05-19
- 异常、多线程、集合类、泛型 2020-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash