黑马程序员-----java异常总结*

原创 2013年12月02日 22:51:12

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

Java异常的基础知识
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。
有些异常需要做处理,有些则不需要捕获处理,后面会详细讲到。
天有不测风云,人有旦夕祸福,Java的程序代码也如此。在编程过程中,首先应当尽可能去避免错误和异常发生,对于不可避免、不可预测的情况则在考虑异常发生时如何处理。
Java中的异常用对象来表示。Java对异常的处理是按异常分类处理的,不同异常有不同的分类,每种异常都对应一个类型(class),每个异常都对应一个异常(类的)对象。
异常类从哪里来?有两个来源,一是Java语言本身定义的一些基本异常类型,二是用户通过继承Exception类或者其子类自己定义的异常。Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。
异常的对象从哪里来呢?有两个来源,一是Java运行时环境自动抛出系统生成的异常,而不管你是否愿意捕获和处理,它总要被抛出!比如除数为0的异常。二是程序员自己抛出的异常,这个异常可以是程序员自己定义的,也可以是Java语言中定义的,用throw 关键字抛出异常,这种异常常用来向调用者汇报异常的一些信息。
异常是针对方法来说的,抛出、声明抛出、捕获和处理异常都是在方法中进行的。
Java异常处理通过5个关键字try、catch、throw、throws、finally进行管理。基本过程是用try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出,你的代码在catch语句块中可以捕获到这个异常并做处理;还有以部分系统生成的异常在Java运行时自动抛出。你也可以通过throws关键字在方法上声明该方法要抛出异常,然后在方法内部通过throw抛出异常对象。finally语句块会在方法执行return之前执行,一般结构如下:
try{
程序代码
}catch(异常类型1 异常的变量名1){
程序代码
}catch(异常类型2 异常的变量名2){
程序代码
}finally{
程序代码
}
catch语句可以有多个,用来匹配多个异常,匹配上多个中一个后,执行catch语句块时候仅仅执行匹配上的异常。catch的类型是Java语言中定义的或者程序员自己定义的,表示代码抛出异常的类型,异常的变量名表示抛出异常的对象的引用,如果catch捕获并匹配上了该异常,那么就可以直接用这个异常变量名,此时该异常变量名指向所匹配的异常,并且在catch代码块中可以直接引用。这一点非常非常的特殊和重要!
Java异常处理的目的是提高程序的健壮性,你可以在catch和finally代码块中给程序一个修正机会,使得程序不因异常而终止或者流程发生以外的改变。同时,通过获取Java异常信息,也为程序的开发维护提供了方便,一般通过异常信息就很快就能找到出现异常的问题(代码)所在。
Java异常处理是Java语言的一大特色,也是个难点,掌握异常处理可以让写的代码更健壮和易于维护。

一、异常

异常的来源:

第一种是java本身定义的一些基本异常类型;第二种是自定义异常

自定义的目的:

为了便于程序的维护,当出现问题时可以立马知道问题在哪

处理异常的目的:

第一是增强程序的健壮性,使程序不轻易因异常而终止;

第二是为了便于维护,通过异常信息可以找到问题之所在


1、Throwable 类是 Java 语言中所有错误或异常的超类。

2、细化异常的类型,不要不管什么类型的异常都写成Excetpion。
3、catch块尽量保持一个块捕获一类异常,不要忽略捕获的异常,捕获到后要么处理,要么转译,要么重新抛出新类型的异常。
4、不要把自己能处理的异常抛给别人。
5、不要用try...catch参与控制程序流程,异常控制的根本目的是处理程序的非正常情况。



---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

黑马程序员_JAVA的异常处理_2_总结

——- android培训、java培训、期待与您交流! ———-首先回顾一下异常处理的代码模式 try{  程序代码  }catch(异常类型1 异常的变量名1){  程序代码  }catch(异...
  • wu_zida
  • wu_zida
  • 2015年06月23日 19:27
  • 213

黑马程序员_java异常总结

---------------------- android培训、java培训、期待与您交流! ---------------------- java异常总结   1,异常:就是程序在运行时...

黑马程序员_05 java异常处理总结

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------                ...

黑马程序员_java异常学习总结

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------                        ...
  • javamu
  • javamu
  • 2014年05月24日 23:56
  • 481

黑马程序员-Java基础-异常处理总结

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------------------------...

黑马程序员 知识点总结-Java异常

---------------------- ASP.Net+Android+IOS">http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发...

黑马程序员:java中的异常总结

---------------------- android培训、java培训、期待与您交流! ---------------------- 异常:是对问题的描述,将问题进行对象的封装。 ----...
  • shazilv
  • shazilv
  • 2012年02月25日 00:02
  • 298

黑马程序员—Java编程异常知识总结

-       Java面向对象编程知识点总结。 一:内部类。 将一个类定义在另一个类的里面,就称该类为内部类。 1.内部类的特点:1.内部类可以直接访问外部类的成员,包括私有成员。 2.而外...

黑马程序员--Java编程之异常处理及IO流阶段总结

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-异常处理一.异常:1.目的:让我们的程序在出现异常情况时,不至于崩溃;2.五种结构:1).try…catch… ...

黑马程序员——Java中的异常:关键字try...catch、throw、throws总结

------- android培训、java培训、期待与您交流! ---------- 异常和java异常处理机制         在程序的实际应用中,可能存在大量的未知问题,所以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员-----java异常总结*
举报原因:
原因补充:

(最多只允许输入30个字)