A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

☆义薄バ云天☆

初级黑马

  • 黑马币:0

  • 帖子:5

  • 精华:0

© ☆义薄バ云天☆ 初级黑马   /  2014-3-19 10:20  /  1330 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我是刚刚学的,要解释详细点哦。

7 个回复

倒序浏览
异常:就是程序在运行时出现不正常情况。
异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象。
                        其实就是java对不正常情况进行描述后的对象体现。

对于问题的划分:两种:一种是严重的问题,一种是非常严重的问题。

对于严重的,java通过Error类进行描述。
        对于Error一般不编写针对性的代码对其进行处理。

对于非严重的,java通过Exception类进行描述。
        对于Exception可以使用针对性的处理方式进行处理。

无论Error或者Exception都具有一些共性内容。
比如:不正常情况的信息,引发原因等。

Throwable
        |--Error

        |--Exception

2,异常的处理

java提供了特有的语句进行处理。
try
{
        需要被检测的代码;
}
catch(异常类 变量)
{
        处理异常的代码;(处理方式)
}
finally
{
        一定会执行的语句;
}

3,对捕获到的异常对象进行常见方法操作。
        String getMessage():获取异常信息。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报 1 0
Java中,异常定义了程序运行中可能遇到的轻微错误或异常情况。当发生异常时,程序员可以通过自己编写有针对性的代码来对它进行处理,以让程序继续运行下去。为了让写出来的代码比较强壮(robust),java语言要求除Error和RuntimeException之外的所有Exception都能够得到处理。
  Java对异常(Exception)的处理方法分为两类,一类将异常的处理递交给当前方法的调用者去处理,称为throws a Exception,另一类则在方法中使用try/catch/finally语句自己处理异常。
1.Java 语言采用了C++风格的异常处理。
   当程序中出错时,发生错误的那个方法中产生的异常没有相应的try/catch 段来处理时,它就会被掷给(throw)产生该异常的方法,如果该方法也未能处理它,异常就会被掷给该方法的调用者。这个过程一直进行, 直到异常被处理为止。当返回到main()方法时异常还未被处理,或者main()方法中也未对它进行处理,则该异常就会让程序异常终止。
2.使用try/catch/finally段来处理exception
1. 将可能会产生异常的程序包含在try段中。
2.
3. try {
4. // code that might throw a particular exception
5. }
6. 使用一个或多个catch段来处理try段中可能产生的异常。
7. try {
8. //code that might throw a particular exception
9. }
10.
11. catch (ExceptionType1 e1){ …
12. // 当try段中产生类型为ExceptionType1的异常时执行该段
13. // e1代表该异常类(ExceptionType1)对应的实例(对象),由系统自动生成
14.
15. }catch (ExceptionType2 e2) { …
16. // 当try段中产生类型为ExceptionType2的异常时执行该段
17. }
   当发生的异常类型与某一catch段中的异常类型一致或相匹配时,该catch段中的代码就会被执行。在一个try段后可以有多个catch段,每个catch段可以对应一种异常的处理。
   Java的异常处理机制带来的好处是将异常处理与正常的程序流分开,即将出错处理代码与正常的代码相隔离。这样产生的代码可读性好,易于管理。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报 1 0

异常:是对问题的描述,将问题进行对象的封装。

异常体系:
        Throwable
                |--Error
                |--Exception
                        |--RuntimeException
异常体系的特点:
        异常体系的所有类以及建立的对象都具备可抛性,即可以被关键字throw和throws所操作。

throw和throws:
        throw定义在函数内用于抛出异常对象。throws定义在函数上用于抛出异常类,可以跟多个,用逗号隔开。

注:当在函数内部出现throw抛出的异常时,就必须给以相应的处理动作。
        要么在函数内部try catch处理,要么在函数上声明throws抛出。
        但是:当throws抛出的是RuntimeException时,可以不处理。

异常处理的原则:
        1、处理方式有两种:try或者throws
        2、到用到抛出异常的功能是,抛出几个就处理几个,所以一个try有可能对应catch
        3、多个catch存在时,父类的catch放到最下面
        4、当捕获到异常,但本功能处理不了是可以在catch中继续抛出。当该异常不属于该功能出现的异常时,可以将异常转换为本功能相关的异常再抛出。

异常处理语句:
         try
         {需要被检测的代码。}
         catch(异常类   变量)
         {处理异常的代码。}
         finally
         {一定会被执行的代码。}
异常处理语句的组合方式:
        1、try catch组合
        2、try finally组合
        3、try catch finally组合
注:当代码存在安全隐患或者调用的函数有抛出异常时,可以用try去检测异常。
        catch可以接收try检测到的异常,并对异常处理或者继续抛出。
        finally内是一定会被执行的语句,用于释放资源等情况。有一种情况finally不会被执行到,当jvm执行到System.exit(0)时。

自定义异常:
        定义类继承Exception或者RuntimeException
                1、让该自定义类具备可抛性
                2、让该类具备操作异常的共性方法
        当要定义自定义异常的信息时,可以使用父类已定义好的功能,将子类异常信息传递给父类的构造函数
        class MyException extends Exception
        {
                MyException(String message)
                {
                        super(message);
                }
        }
子父类覆盖时发生异常:
        1、子类只能抛出父类的异常的子类或者子集
        2、当父类或者接口没有异常抛出是,子类在覆盖时发生异常,只能try不能throws.

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
对于有可能抛出异常的代码段放在try{}语句块中并在catch(Exception e){}捕获抛出的异常,然后根据捕获的异常进行处理
回复 使用道具 举报
异常:是对问题的描述,将问题进行对象的封装。

异常体系:
        Throwable
                |--Error
                |--Exception
                        |--RuntimeException
异常体系的特点:
        异常体系的所有类以及建立的对象都具备可抛性,即可以被关键字throw和throws所操作。

throw和throws:
        throw定义在函数内用于抛出异常对象。throws定义在函数上用于抛出异常类,可以跟多个,用逗号隔开。

注:当在函数内部出现throw抛出的异常时,就必须给以相应的处理动作。
        要么在函数内部try catch处理,要么在函数上声明throws抛出。
        但是:当throws抛出的是RuntimeException时,可以不处理。

异常处理的原则:
        1、处理方式有两种:try或者throws
        2、到用到抛出异常的功能是,抛出几个就处理几个,所以一个try有可能对应catch
        3、多个catch存在时,父类的catch放到最下面
        4、当捕获到异常,但本功能处理不了是可以在catch中继续抛出。当该异常不属于该功能出现的异常时,可以将异常转换为本功能相关的异常再抛出。

异常处理语句:
         try
         {需要被检测的代码。}
         catch(异常类   变量)
         {处理异常的代码。}
         finally
         {一定会被执行的代码。}
异常处理语句的组合方式:
        1、try catch组合
        2、try finally组合
        3、try catch finally组合
注:当代码存在安全隐患或者调用的函数有抛出异常时,可以用try去检测异常。
        catch可以接收try检测到的异常,并对异常处理或者继续抛出。
        finally内是一定会被执行的语句,用于释放资源等情况。有一种情况finally不会被执行到,当jvm执行到System.exit(0)时。

自定义异常:
        定义类继承Exception或者RuntimeException
                1、让该自定义类具备可抛性
                2、让该类具备操作异常的共性方法
        当要定义自定义异常的信息时,可以使用父类已定义好的功能,将子类异常信息传递给父类的构造函数
        class MyException extends Exception
        {
                MyException(String message)
                {
                        super(message);
                }
        }
子父类覆盖时发生异常:
        1、子类只能抛出父类的异常的子类或者子集
        2、当父类或者接口没有异常抛出是,子类在覆盖时发生异常,只能try不能throws.

毕老师Java基础视频中有解答!:)

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
java中将各种异常封装成了不同对象进行描述,具体的请看毕老师讲的

暴风截图20143165115366.jpg (185.43 KB, 下载次数: 8)

暴风截图20143165115366.jpg
回复 使用道具 举报
try{}用来定义需要被检测的代码,catch(){}用来处理异常的代码,
finally{}中是一定会执行的代码
注意:
1,finally中定义的通常是 关闭资源代码。因为资源必须释放。
2,finally只有一种情况不会执行。当执行到System.exit(0);finally不会执行。
throw定义在函数内,用于抛出异常对象。
throws定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开
当函数内容有throw抛出异常对象,并未进行try处理。必须要在函数上声明,否则编译失败。
注意:RuntimeException除外。也就说,函数内如果抛出的RuntimeException异常,函数上可以不用声明。
这些毕老师视频都有讲到啊,day10里面有很详细解释!

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马