异常处理基础知识
来源:互联网 发布:公司的软件过程 编辑:程序博客网 时间:2024/06/05 17:14
JAVA 的异常机制主要依赖于try、catch、finally、throw、和throws五个关键字,其中,
1.
try{
// 写可能出现异常的代码
// 一旦出现一个异常,那么异常后面的代码将不会继续执行,也就是说,try 只会抛出一个异常
}
2.
catch( Exception e){
// 捕获try中抛出的异常
// 也可以进行相关异常的处理
e.getMessage(); // 打印出异常信息
e.printStackTrace(); // 异常信息跟从栈
}
3.
finally{
// 总会执行的代码
// 一般是关闭连接,释放资源
}
4.
throw 是程序员自己抛出一个异常 写在catch代码块中
5.
throws 是声明会出现异常,写在方法名后面
================================================================================================
上面只是很简单的介绍了五个关键字,接下来看一下系统提供的异常情况
(截图来自《疯狂java讲义》)
只针对Exception ,可以清楚的看出,各个异常的父类是 Exception,所以抛出的异常都可以赋给Exception对象,当然如果存在多个catch语句,应该把 Exception对象的参数放在最后一个catch中,说白了就是这样的:
try{
//……
}catch(NullPointerException e){
//……
}
catch(RuntimeException e){
//……
}
catch(Exception e){
//……
}
(可以这样理解,子类可以赋给父类,但是 父类不能赋给子类(强制转换除外),把Exception就看做一个类)
在一般项目开发中通常不会将异常细化,一般在catch捕获的都是Exception对象和自定义的异常;
系统异常,无须程序员来抛出异常;
自定义异常,需要程序员主动抛出异常, throw new myException("这是我自定义的异常");
把Exception就看做一个类,自定义的异常,就是继承Exception,并提供构造函数(也可以不提供)。、
如:
public class myException extends Exception {
public myException(String message) {
super(message);
}
}
================================================================================================
总结:
java异常机制,是针对可能出现异常的代码,提供一种解决机制,不能用于业务的逻辑判断,虽然能够实现某些业务逻辑上的跳转什么的,但是这是不规范的。
当程序中出现异常,是一定要解决的,虽然可以用 throws 声明 有异常的方法,但是,调用该方法的方法要提供异常解决的办法,当然也可以再次用 throws 声明 ,但是,最终还是要在一个方法中提供异常解决的办法。(要在江湖混,迟早是要还的,哈哈!)
java异常处理机制,会结合其他知识一起运用的,为的是,提高代码的健壮性。
(这是我学习java的第一篇博客,写的不好,我会坚持写下去,就算没人看,也要写给自己看。)
- 异常处理的基础知识
- java异常处理基础知识
- 异常处理基础知识
- java基础知识之异常处理
- Java 基础知识总结:异常处理
- Python 基础知识之 异常处理
- C++基础知识(八)例外、异常处理
- 黑马程序员 Java基础知识总结-异常处理
- JavaSE复习之九 基础知识:异常处理
- Python异常处理方面的一些基础知识。
- JAVA异常处理机制(基础知识)
- Java基础知识之异常处理机制
- PL/SQL基础知识1(复合变量,异常处理)
- 11级_Java_曹建波4.24 异常处理的基础知识
- C#基础知识梳理系列十:异常处理 System.Exception
- android基础知识24:Android中处理崩溃异常
- C#基础知识梳理系列十:异常处理 System.Exception
- 黑马程序员—异常及其处理部分基础知识总结
- oracle connect by level 应用
- 为什么线性规划问题的最优解一定能在可行域顶点中找到?
- Python下划线与命名规范
- java面向对象的设计原则
- (三)排序简介:算法效率
- 异常处理基础知识
- Cygwin 编译器和工具
- 分页pager的使用
- 常用学习资源
- java中static作用详解
- svn: 无权打开根进行编辑操作,Elcipse无法checkout
- Win7不生成Thumbs.db文件
- Android apk反编译和源码查看
- Labview调用VC