异常捕获模块,throw, try, catch, finally

一、异常的结构

  • 所有异常和错误都继承Throwable
  • 错误有VirtualMachineError, OutOfmemoryError, ThreadDeath
  • 异常分为RuntimeException. IOException, SQLException
  • 在RuntimeException中分为NullPointerException, ArithmeticException, ClassCastException, ArrayIndexOutofBoundsException
  • 异常能被程序处理,错误不能被程序处理

二、抛出异常

1、throws 抛出异常

如果一个方法本身会出现异常,但是本身没办法处理这个异常,那么就需要抛出异常。例如洗衣机可能不工作了这时候会抛出异常,但是洗衣机不会修自己,需要维修工人来维修,那么维修工人负责处理异常。

抛出异常

package learn;

public class WashMachine {
    public void work() throws Exception {

    }
}

捕获异常

package learn;

public class Worker {
    public void check(){
        try{
            WashMachine washMachine = new WashMachine();
            washMachine.work();
        }catch (Exception e){
            //do something
        }
    }
}

2、throw 抛出异常

throw抛出异常是在方法内部。用来抛出一个Throwable异常。程序会在throw语句后立即终止。然后在try catch模块中,从里向外寻找包含它的模块。

package learn;

public class WashMachine {
    public void work() throws Exception {
        throw new Exception();
    }
}

三、捕获异常

1、

在Java中,异常通过try-catch模块捕获

package learn;

public class Worker {
    public void check(){
        try{
            WashMachine washMachine = new WashMachine();
            washMachine.work();
        }catch (Exception e){
            //do something
        }
    }
}

关键词try后面的打括号里面称为监控区域。

如果异常属于一个catch模块,则本catch处理完后其他模块不会再处理。

2、try-catch-finally

try-catch 还可以包含第三部分 finally,它表示无论是否出现异常,都应该执行该内容。

package learn;

public class Worker {
    public void check(){
        try{
            WashMachine washMachine = new WashMachine();
            washMachine.work();
        }catch (Exception e){       //do something
        }finally {
            System.out.println("Always print information");
        }
    }
}

原文地址:https://www.cnblogs.com/ylxn/p/12254756.html

时间: 2024-08-07 10:07:07

异常捕获模块,throw, try, catch, finally的相关文章

C#中的异常捕获机制(try catch finally)

一.C#的异常处理所用到关键字 try :用于检查发生的异常,并帮助发送任何可能的异常. catch :以控制权更大的方式处理错误,可以有多个catch子句.  finally: 无论是否引发了异常,finally的代码块都将被执行.  throw: 用于引发异常,可引发预定义异常和自定义异常. 二.C#异常处理的格式 1 try 2 { 3 //程序代码块: 4 } 5 catch(Exception e) 6 { 7 //异常处理代码块: 8 } 9 finally 10 { 11 //无论

C++异常处理解析: 异常的引发(throw), 捕获(try catch)、异常安全

前言: C++的异常处理机制是用于将运行时错误检测和错误处理功能分离的一 种机制(符合高内聚低耦合的软件工程设计要求),  这里主要总结一下C++异常处理的基础知识, 包括基本的如何引发异常(使用throw)和捕获异常(try catch)相关使用注意点, 以及C++标准库提供的一套标准异常类和这些异常类的继承层级结构以及相关使用方法和常用习惯. C++异常的引发(throw): 引发C++异常的语法就是使用throw语句: throw object; 注意这里throw抛出的是一个对象,也就是

T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)

原文:T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw) 本文出处: http://www.cnblogs.com/wy123/p/6743515.html T-SQL编程与应用程序一样,都有异常处理机制,比如异常的捕获与异常的抛出(try catch throw),本文简单介绍异常捕获与异常抛出在T-SQL编程中的实际使用 . 异常处理简单说明 异常捕获在应用程序编程中非常常见,提供了处理程序运行时出现的任何意外或异常情况的方法刚毕业的时候对于异常处理迷茫不解,

C# 中异常抛出捕获机制--throw / try,catch,finally

try { messagebox.show("true"); } catch { messagebox.show("false"); } finally { messagebox.show("finally"); } notes:      抛出异常用 throw new exception,捕获异常用 try..catch..finally try ... catch 的目的是解决程序在出现错误时无法继续执行下去的问题. try不一定只能和ca

swift 异常捕获try catch的使用

新的异常捕获机制更新于 WWDC 2015上发布的新的Swift2.0,异常的try-catch机制有助于我们更快的定位出错原因所在,此处简单说明下try-catch机制的用法. 1.定义枚举异常值 首先我们可以创建自己的异常枚举值,这要实现ErrorType协议,只不过这个协议是空的,我们加上就好. 2.抛出异常 我们可以在方法中抛出异常,定义抛出异常的方法很简单,只需要在返回值的 -> 前面加上throws就好了,示例如下:(这个方法是自定义的Dog类里的一个实例方法,name.length

Java中异常的捕获顺序(多个catch)(

Java代码 import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething() throws IOException{ System.out.println("do somthing"); } public static void main(String[] args){ ExceptionTryCatchTest et = new ExceptionTryCatchTe

[转载]Java中异常的捕获顺序(多个catch)

http://blog.sina.com.cn/s/blog_6b022bc60101cdbv.html [转载]Java中异常的捕获顺序(多个catch) (2012-11-05 09:47:28) 转载▼ 标签: 转载 分类: 转载 原文地址:Java中异常的捕获顺序(多个catch)作者:leesa Java代码 import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething(

SQLServer异常捕获(Try Catch)

/* SQLServer异常捕获 在SQLserver数据库中,如果有很多存储过程的时候,我们会使用动态SQL进行存储过程调用存储过程,这时候,很可能在某个环节就出错了,但是出错了我们很难去跟踪到出错的存储过程,此时我们就可以使用异常处理,通过日志表来记录存储过程的执行情况,然而定位到错误的存储过程,以下是一个存储过程异常处理的小实例: */ /*===================================================== 相关错误消 息如下: ERROR_NUMB

Java中多个异常的捕获顺序(多个catch)

Java代码 import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething() throws IOException{ System.out.println("do somthing"); } public static void main(String[] args){ ExceptionTryCatchTest etct = new ExceptionTryCatch