Java编程思想 异常处理机制 Lambda表达式

java中的异常处理机制

1、java中的异常处理机制

创建异常对象—–停止当前执行路径——抛出异常对象的引用——–异常处理器处理

2、异常处理机制的好处

异常分隔了两部分代码:

一部分是描述我们想做什么的代码(业务逻辑),另一部分是程序运行出错时执行的代码(异常处理代码)。

3.捕获异常

使用try块,就算方法抛出了异常也不会结束。

Java支持终止模型,这种模型中,将假设错误非常关键,以致于程序无法返回异常发生的地方继续执行。

创建自己的异常类:

finally无论如何都会被执行,catch(Exception e)能捕获所有的异常,一般放在最后。

只处理第一个匹配上的catch,之后的不执行。

异常说明属于方法声明的一部分,紧跟在形式参数列表之后。

class SimpleException extends Exception {}
public class Test{  
    public void f() throws SimpleException{//注意异常的声明
        System.out.println("f()");
        throw new SimpleException();//抛出异常
    }   
    public static void main(String[] argv) {
        Test a = new Test();
        try {
            a.f();
        }catch(SimpleException e) {//匹配异常
            System.out.println("Caught it!");
        }catch(Exception e) {//不执行
            System.out.println("all the exceptions");
        }finally {//无论如何都会被执行
            System.out.println("finally");
        }
    }   
}

调用Throwable类的printStackTrace()方法,那么“从异常方法调用处直到异常抛出处”的方法调用序列将被打印出来。如果括号里加上System.out,将被自动捕获和显示在输出中。如果括号里什么都没有,则信息将被输出到标准错误流。

二十一、二十二章

1.基本概念:

进程:一段可执行的程序。一个进程包含多个线程。

线程:某一顺序的执行流程,可看作进程的一个任务。

并行:多任务同时进行。并发:通过调度使任务交替进行。并行和并发用户体验相同。

2.实现线程类的两种方法:

(1)继承自Tread类重写其run() 方法;

(2)实现Runnable接口并编写run()方法。

3.图形化用户界面:

Swing类库中使用 布局管理器来管理控件在窗口中的布局。

布局管理器的种类:BorderLayoutFlowLayoutGridLayoutGridBagLayout

事件监听机制:Swing类库中,如果想对控件的单击事件进行响应,可以实现接口ActionListener中的actionPerformed()方法。

Lambda表达式

1.对容器类中元素进行迭代
List<Integer> a = new ArrayList<Integer>();
Collections.addAll(a, 1,2,3);
a.forEach(x -> System.out.println(x));
2.替代匿名类
interface Contents{
    void value();
}
public class Test {
    public static void PContents(Contents con) {
        con.value();
    }
    public static void main(String[] argv) {
        PContents(()->System.out.println("a")); 
    }
} 
public void oldRunable() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("The old runable now is using!");
            }
        }).start();
    }
public void runable() {
        new Thread(() -> System.out.println("It's a lambda function!")).start();
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章