java中的异常
来源:互联网 发布:php教程网源码 编辑:程序博客网 时间:2024/06/05 07:07
异常的概念
当出现程序无法控制的外部环境问题(用户提供的文件不存在、文件内容损坏、网络不可用….)时,Java就会用异常对象来描述。
Java中的两种处理异常的方法
1、在发生异常的地方直接处理。
2、将异常抛给调用者,让调用者处理。
异常的分类
1、检查性异常:java.lang.Exception
此类异常是程序的逻辑并没有任何问题,出现异常的原因是外在的环境条件不满足。
2、运行期异常:java.lang.RuntimeException
此类异常说明程序中存在数组越界等bug,Java编译器强制要求处理这类异常,并且这类异常需要修改序来修改。
3、错误:java.lang.Error
此类异常不多见。可能是由于程序的bug,也可能是源于环境问题(例如:内存耗尽等)。
异常的处理
1、try….catch
程序运行产生异常时,将从异常发生点中断程序并向外抛出异常信息。
2、finally
如果把finally块置于try…catch…语句后,finally块一般都会得到执行,它相当于
一个万能的保险,即使前面的try块发生异常,而又没有对应异常的catch块,finally
块将马上执行。
3、抛出异常,让调用者去处理这个异常。
finally注:
以下情形,finally块将不会执行:
1、finally块中发生了异常。
2、程序所在线程死亡。
3、在前面的代码中用了System.exit();
4、关闭CPU。
例子:
import java.io.*;
public class Demo_1{
public static void main(String []args){
//try….catch
try{
FileReader fr=new FileReader(“d:\aa.txt”);//d盘中并没有aa这一文件
}catch(Exception e){
e.printStackTrace();
}
//finally,最后一道防线。try{ FileReader fr=new FileReader("d:\\aa.txt");//d盘中并没有aa这一文件 }catch(Exception e){ e.printStackTrace(); }finally{ if(fr!=null){ try{ fr.close(); }catch(Exception e1){ e1.printStackTrace(); } } //抛出异常 Animal f=new Animal(); f.test1();}
}
class Animal{
private Cat cat=null;
public Animal()
{
cat=new Cat();
}
public void test1(){ System.out.println("111"); //处理异常 try{ son.test2(); }catch(Exception e){ System.out.println("Animal"); e.printStackTrace(); }}
}
class Cat{
public void test2() throws Exception
{
//将异常向上抛给了Animal类里面
FileReader fr=new FileReader(“d:\aa.txt”);
System.out.println(“hahaha1”);
}
}
“`
- 【java】java中的异常
- Java中的异常处理
- java中的的异常
- java中的异常
- JAVA中的异常处理
- Java中的异常处理
- Java中的异常分类
- JAVA中的异常处理
- Java中的自定义异常
- Java中的异常
- java中的异常处理
- Java中的所有异常
- java中的异常
- JAVA程序中的异常
- java中的常见异常
- java 中的异常解析
- Java中的异常
- JAVA中的异常类型
- 使用spring3.2 @Scheduled注解 定时任务
- 看书笔记!
- 【项目管理和构建】——Maven下载、安装和配置(二)
- JAVA socket FTPserver HTTPserver chatting RMI(Remote Method Invocation) | socket实现ftp http rmi chat
- 每次弹出一个栈的最小元素
- java中的异常
- js学习笔记(比较全)
- Python.Extracting Data from XML
- hdu2026 首字母变大写
- 128. Longest Consecutive Sequence
- c++游戏别踩白块课程设计
- 心里藏着一个人,怎么能开始一段新的感情
- c语言_函数指针的调用方法
- 【HDU】4135 - Co-prime(容斥原理)