JAVA基础06
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA基础06,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1519字,纯文字阅读大概需要3分钟。
内容图文
![JAVA基础06](/upload/InfoBanner/zyjiaocheng/1168/7fa276d1e8154cf1ae0ba8dd33455e72.jpg)
异常
什么是异常
指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等
分类
-
检查型异常
-
运行时异常
由程序逻辑错误引起,应从逻辑角度尽可能避免这类异常发生
- 数组下标越界异常
- 空指针异常
- 算术异常
- ....
-
错误ERROR
Error类对象由java虚拟机生成并抛出
ERROR通常是致命的错误,是程序无法控制和处理的,发生时JVM会终止线程,而Exception通常是可以被程序处理的,并在程序中应尽可能去处理这些异常
处理
-
常用关键字:try 、catch、finally、throw、throws
-
异常对象的两个方法
Exception e=new Exception(); String msg=e.gewMessage(); //获取异常简单描述信息,调用异常对象的toString方法? e.printStackTrace(); //打印追踪堆栈的信息
1.抛出
? 在方法声明位置上使用throws关键字,抛给上一级(谁调用抛给谁)
但是只能抛出相应的异常或其父类异常(抛的异常可以更大不能更小)
2.捕捉
? 一般main方法采用捕捉,否则异常会抛给JVM,JVM会终止程序
public static void main(String[] args) {
int a=10,b=0;
int c;
try {//try监控区域,尝试一些可能有异常的程序
c = a/b;
}catch (ArithmeticException e){//捕获异常
System.out.println("发生异常,被除数不能为0");
} finally{//善后工作
System.out.println("结束");
}
}
-
try不能单独使用
-
catch后面是想要捕获的异常类型
-
建议在catch的代码块里打印异常追踪的堆栈信息(此信息由上往下看,忽略Sun的代码)
-
可以捕获多个异常,使用多个catch
注意catch的异常上面的必须小于下面的异常范围,从小到大捕获
-
finally最后一定会执行
无论是否出现异常,finally中的代码一定会执行,除非在try中执行System.exit(0);程序,通常在其中完成资源的释放、关闭
public static int m(){ int i=100; try{ return i; }finally{ i++; } }
finally中的i++;一定执行,且由于return;后方法结束,所以会在return之前执行,但是这里返回值是100,不是101!!因为要遵循java语法规则,由上至下执行,return在i=100;后面,所以返回100!!
这里反编译后发现实际执行:
int i=100; int j=i; i++; return j;//100!!!!
-
快捷键:Ctrl + Alt + T
自定义异常
- 创建异常类之后,之后继承Exception类
- 提供两个构造方法,一个无参,一个带有String参数
public class MyException extends Exception{
private String detail;
public MyException(){}
public MyException(String s){
super(s);
}
}
-
配合throw(没有s!!!!)使用
throw new MyException("这里发生了***异常"); //抛出后其方法体自动结束
原文:https://www.cnblogs.com/yangzx-hust/p/15087511.html
内容总结
以上是互联网集市为您收集整理的JAVA基础06全部内容,希望文章能够帮你解决JAVA基础06所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。