java第六章异常

异常:

程序运行一旦出现异常程序就会立刻结束不在向下运行

处理异常:在程序执行代码时,万一发生了异常,程序会按照处理的方法对一场进行处理办法,程序将继续执行

try-catch-finally-throws

try代码中存放执行的代码,catch代码块存放异常信息(具体不变的) 列 catch(Exception e){e.printStackTrace();System.out.print(“出现错误”)}

finally代码中一般放结束语句   列 finally{System.out.print(“感谢使用本程序”)}

throws Exception使用:

public class Student{

private String name=""; private String sex = "man";private int age;

public void setAge(int age){

this.age = age;}

public void setSex(String sex) throws Exception{//声明异常

if("man".equals(sex)||"woman".equals(sex)){

this.sex = sex;}else{

throw new Exception ("sex mustbe man or woman")}//抛出异常 自定义异常

thows 在方法头部(可跟多个)声明异常

throw 方法题里面手动创建异常类对象(抛出异常)

题库:

finally不管异常发生不发生都会运行只有一种情况不运行(System.exit(1)退出java虚拟机)

异常是一个对象能和catch语句一块使用的是try,一个try能匹配多个catch

异常的区分:

运行时异常:RuntimeException及所有子类

受检异常:class not found/SQLException/IOException 必须捕获或声明  try-catch

算术异常:ArithmetioException  Error 程序无法处理

Throwable 所有异常的父类

如果一段代码会出现多种异常可使用多重异常可使用多重catch块,排序是先子类到父类(Exception e)

异常基类为Exception。所有异常都直接或间接继承它

如果某异常继承RuntimeException,则该异常可以不被声明

在当前位置捕获异常并处理通过  try{}catch(){}

简述为什么不用if-else处理异常

1.代码臃肿,加入了大量异常情况判断和处理代码

2.减少了编写业务代码的时间,影响开发效率

3.异常处理和业务交织在一起,影响代码可读性,加大了程序的可维护性

简述throws和throw的区别:

1.作用不同,throw用于程序中抛出异常,throws声明该方法内抛出了异常

2.使用位置不同,throw位于方法体内部,可作为单独语句使用,throws必须跟在方法参数后面,不能单独使用

3.内容不同:throw抛出一个异常对象,而且只能是一个

throws后跟异常类,且可跟多个异常类

 

posted @ 2018-11-13 21:08  后来的后来啊  阅读(563)  评论(0编辑  收藏  举报