黑马程序员-----------异常、包

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、异常
1. 什么是异常?
就是程序在运行时出现不正常情况。

2. 异常的分类:

Throwable

                |---Error  //通常出现重大问题如:运行的类不存在或者内存溢出等。

                |---Exception //运行时出现的一起情况

                            |---R       untimeException    //特殊异常类,抛时不需要声明

        ExceptionError的子类名都是以父类名作为后缀。

                                              

3.Exception有两种:

  a)、编译时被检测异常

              该异常在编译时,如果没有处理(没有抛也没有try),编译失败。该异常被标识,代表着可以被处理。

         b)、运行时异常(编译时不检测)

               在编译时,不需要处理,编译器不检查。该异常的发生,建议不处理,让程序停止。需要对代码进行修正。如:RuntimeException以及其子类。

4.异常的两种处理方式(好处:提高的程序的健壮性)

a) 、 通过关键字throws抛出异常

b) java提供了特有的语句进行处理。

        try

        {

                 需要被检测的代码。

        }

        catch(异常类  变量)

        {

                 处理异常的代码;(处理方式)

        }

        finally

        {

                 一定会执行的语句;

        }

注意:

0)语句块中可以有finally也可以没有。

  1finally中定义的通常是关闭资源代码。因为资源必须释放。

        2)如果在一个功能中,定义了一些必须要执行的代码,可以用try{}finally{}的方式,将一定执行的代码放在finally代码块中。

        3finally只有一种情况不会执行。当执行到System.exit(0);fianlly不会执行。

异常的一些方法:

其实JVM默认的异常处理机制,就是在调用printStackTrace方法,打印异常的堆栈的跟踪信息。

 printStackTrace(PrintStream s)// 通常用该方法将异常内容保存在日志文件中,以便查阅。

5.throws与throw的区别

throws作用在函数的后面,抛出的是异常类。

throw作用在函数的里面,抛出的是异常对象。

二、自定义异常

自定义异常继承Exception或者RuntimeException。为了让该自定义类具备可抛性,让该类具备操作异常的共性方法。

所有可处理的异常都继承Exception;

语法:

class 异常类名 extendsException{

public异常类名(String msg){

       super(msg);//将会返回输入的信息  

}

}

三、包

1、什么是包?

包是一种封装形式(文件),里面存放Java文件。

2、作用:

       a) 、为避免多个类重名的情况,如果出现两个相同名字的类,可通过包将两者区分,从而避免冲突。

       b) 、对类文件进行分类管理,可以将相关的一些类放在同一个包中。

        c)、给类提供多层命名空间,如a包中的Demo.class文件,如果要创建Demo对象,就要在使用时加上a.如:a.Demo demo=new a.Demo()

        4、包的出现可以将java的类文件和源文件相分离。

3、规则

1、包必须写在程序的第一行。因为要先有包,才知道类文件的存放地方。

        2、类的全称:包名.类名。

        3、编译定义了包的程序文件时,在编译时要指定包的存储目录。

       如:javac –d c:\mypack类名.java。

若要访问不同包中的类时,程序代码首行必须的声明为public,import 包名.类名称。用*表示这个包下的所有类。





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值