《Java编程思想》读书笔记(12)

简介:
以前学c语言时,总是在自己写的函数里为程序的各种运行情况设置一个返回标志值,返回值可以是1,0等标志值,来根据这些标志值来判断程序是否正常运行,但代码多了就总是搞不清楚这些标志值之间的区别,因此代码就变得很难读了。而java用“异常处理”很好地解决了这个恼火的问题。
       异常处理理论上划分为两种:中止模型(temination),也就是java和c++采用的模型,它假定错误十分严重,因此无法回到错误的地方,只能抛出异常。还有一种就是“继续(resumption),它认为异常处理程序应该能对当前的运行环境进行修复,然后尝试上次出错了的方法。也就是说处理完异常后,希望能够继续运行当前指令。但这种模型的”耦合性“太大。
package com.vitamin.Console;
import java.lang.*;

public class exceptionTest
{
    
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        try
        {
            f();
        }
        catch(MyException ex)
        {
            System.err.println(ex.getMessage().toString());
        }

    }
    public static void f() throws MyException
    {
        System.out.println("Hello");
        
    }

}

Java异常处理中存在着一个错误,如果用如下方式去使用的话就会出错:
package com.vitamin.Console;
import java.lang.Throwable;


public class exceptionTest
{
    
    public static void main(String[] args) throws Exception
    {
        // TODO Auto-generated method stub
        try
        {
            g();
        }
        finally
        {
            f();
        }
    }
    public static void g() throws Exception
    {
        throw new Exception("异常1");
    }
    public static void f() throws MyException
    {
        throw new MyException("异常2");
        
    }

}

异常2把异常1给弄丢了!!!
在覆写一个方法时,只能抛出这个方法在基类中的版本所声明的异常,这样就可以实现多态性。



本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2006/06/14/425680.html,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
设计模式 敏捷开发 Java
全网首发!Java界的四大名著之一:Java编程思想最新中文版已开源
老版《Java编程思想》(原书名《Thinking in Java》)得益作者开放深度研讨的创作方式,受到了全世界读者的追捧,被译为了十几种语言。但遗憾的是,在经历了 4 个版本的更新后,其最后一版发布于 2007 年,之后再无更新。
|
3月前
|
设计模式 Java 程序员
感动哭了!Java界的四大名著之一:Java编程思想最新中文版已开源
还记得这本书吗?是不是已经在你的桌上铺满厚厚的一层灰了?随着 Java 8 的出现,这门语言在许多地方发生了翻天覆地的变化。最新版已经出来了,在新的版本中,代码的运用和实现上与以往不尽相同。
|
9月前
|
Java C++
java 编程思想 多线程学习笔记
java 编程思想 多线程学习笔记
79 0
|
4月前
|
Java 测试技术 API
读书笔记-Spring中更好的Java泛型操作API-ResolvableType
读书笔记-Spring中更好的Java泛型操作API-ResolvableType
31 0
|
6月前
|
存储 Java 程序员
Java的第五篇文章——面向对象的编程思想(类和对象)
Java的第五篇文章——面向对象的编程思想(类和对象)
|
6月前
|
Java
【Java用法】图解《Java编程思想》
【Java用法】图解《Java编程思想》
23 0
|
9月前
|
Java
java 编程思想 多线程学习笔记
java 编程思想 多线程学习笔记
38 0
|
10月前
|
缓存 算法 Java
《深入理解Java虚拟机》读书笔记(四)--GC的回收条件及Java对象的引用
《深入理解Java虚拟机》读书笔记(四)--GC的回收条件及Java对象的引用
204 0
|
10月前
|
存储 缓存 Java
《深入理解Java虚拟机》读书笔记(一)--java内存区域划分
《深入理解Java虚拟机》读书笔记(一)--java内存区域划分
50 0
|
Java 编译器 调度
基本的线程机制—Java编程思想
并发编程使我们可以将程序分为多个分离的、独立运行的任务。通过使用多线程机制,这些独立人物(也被称为子任务)中的每一个都将由执行线程来驱动。 一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以拥有多个并发执行的任务。 在使用线程时,CPU将轮流给每个任务分配其占用时间。 线程的一大好处是可以使你从这个层次抽身出来,即diamante不必知道它是运行在具有一个还是多个CPU的机器上。