#异常  

##1.异常处理概述  

1.异常时程序在执行过程中所产生的问题。导致异常的原因的有很多种,包括:  

1. 用户输入了无效数据  

2. 找不到一个需要打开的文件  

3. 在通讯过程中网络连接断开  

4. JVM发生了内存溢出。  

2.异常分为三类:

1. 检查异常:检查异常通常是用户错误或者不能被程序员所预见的问题。例如,如果要打开一个文件,但无法找到该文件,此时就会产生异常。

2. 运行时异常:运行时异常是一个程序在运行过程中可能发生的,可以被程序员避免的异常类型。例如:数组越界、除数为0、引用为null、把引用类型转换为一个无效的数据类型等。

3. 错误:实际上错误根本不是异常,但却是用户或程序员所无法控制的问题。如发生调用栈溢出。   

##2.异常控制流程  

异常时被一个方法抛出的对象,当一个方法被调用时,这个方法被压入到内存的方法调用栈中。当一个方法抛出异常时,该方法从调用栈中被弹出同时产生的异常对象抛给了栈中的前一个方法。  

##3.Thowable类  

Throwable类有两个子类:Exception和Error.Error类是所有Java错误类的父类;Exception类是所有异常的父类,包括运行时异常和检查异常。例如:ArratIndexOutOfBoundsException和ArithmeticException是运行时异常。IOException和ClassNotFoundException是检查异常。  

##4.捕获异常  

在Java中我们通常在一个方法中使用try和catch关键字来捕获异常。  



    try{

     //被保护的代码块  

       }catch(异常的名称 e1){

        //捕获块  

     }   

多个异常块可用多个catch捕获,但是小范围异常放在前面,大范围异常放在后面。  

##5.异常声明  

如果一个方法没有处理检查异常,那么该方法必须使用throws关键字来声明异常。关键字throws出现在方法签名的末尾。例如:   



    public void deposit(double amount)throws RemoteException    

##6.异常抛出   

我们可以通过throw关键字来抛出异常,这个异常可以是一个新的异常实例,也可以是一个我们刚刚捕获的异常。throw语句将导致当前代码立即停止运行,而且异常将被抛给调用栈中前一个方法  

##7.throws与throw区别   

throws声明某个方法有可能产生某个异常  

throw在方法中抛出某个具体的异常。

异常-JAVA的更多相关文章

  1. 异常:java.lang.LinkageError: loader constraint violation: when resolving interface method

    异常:java.lang.LinkageError: loader constraint violation: when resolving interface method "javax. ...

  2. android异常: java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused

    android手机做下载文件时,报了如下异常: java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused 模拟器 ...

  3. socket编程报异常java.io.EOFException

    一个客户端连接服务器的小程序,服务器端可以正常读取客户端发来的数据 但是当客户端关闭时,服务端也关闭了,并且抛出如下的异常: java.io.EOFException at java.io.DataI ...

  4. 异常java.lang.IllegalArgumentException:attempt to create delete event with null entity

    异常java.lang.IllegalArgumentException:attempt to create delete event with null entity解决:路径问题,前台jsp和ja ...

  5. spring异常 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet

    spring异常 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet   情况 ...

  6. Storm 执行异常 java.lang.RuntimeException: java.nio.channels.UnresolvedAddressException 问题解决

    最近写的 binlog2kafka storm job 上线在一个新的集群环境中(storm 0.9.0.1, kafka 0.8), storm job 运行时报出如下异常: java.lang.R ...

  7. maven(多个模块)项目 部署 开发环境 问题处理历程【异常Name jdbc is not bound in this Context 异常java.lang.NoSuchMethodE】

    maven(多个模块)项目 部署 开发环境 问题处理历程[异常Name jdbc is not bound in this Context 异常java.lang.NoSuchMethodE] 201 ...

  8. AES加解密异常java.security.InvalidKeyException: Illegal key size

    AES加解密异常 Java后台AES解密,抛出异常如下:java.security.InvalidKeyException: Illegal key size Illegal key size or ...

  9. 异常-java.util.concurrent.TimeoutException: Futures timed out after [100000 milliseconds]

    1 详细异常 java.util.concurrent.TimeoutException: Futures timed out after [100000 milliseconds] at scala ...

  10. 项目启动异常,java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

    java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' befo ...

随机推荐

  1. [转]ef获取某个表中的部分字段值

    我有个新闻表 id,title,body,createtime,author,click 使用ef4.1 仅仅读取 id,title,createtime 并显示在页面上. public static ...

  2. 在ubuntu中获得root权限

    在终端中输入:(1)sudo passwd rootEnter new UNIX password: (在这输入你的密码)Retype new UNIX password: (确定你输入的密码)pas ...

  3. Mvc学习笔记(4)

    上文我介绍了如何将控制器里的值传递给视图,但是是如何传递的呢?原理是什么? 视图 page.cshtml在编译的时候也会编译成一个类,然而这个类会继承于WebViewPage<object> ...

  4. dustjs

    http://akdubya.github.io/dustjs/ https://github.com/linkedin/dustjs

  5. java MYSQL做分页

    MySql中查询语句实现分页功能 语句: select * from 表名 where 条件 limit 要找第几页,每页多少行; import java.util.*; import java.sq ...

  6. hdu 4751

    一道很简单的题,不过在比赛的时候没有写出来: 刚刚看到这个题,我以为是一个图论题,后来发现其实就是一个暴力的题: 用bfs,因为一个人与他不认识的人肯定不会在一个集合,如果判断出现冲突则分配失败,否则 ...

  7. hdu 2460

    这是一道双联通分量的题,要用到LCA算法: 听说这个算法有两种实现方式:一个是dfs+线段树或着RMQ;一个是用tarjin: 我用的是tarjin: 题目比较简单,就是每次加了一条边之后剩下的桥的个 ...

  8. Android-x86虚拟机安装配置全攻略

    转自Android-x86虚拟机安装配置全攻略 注:这里安装从简,具体请参考虚拟机Vmware安装运行安卓4.0详细教程 Android-x86虚拟机安装配置网上有很多,但是全部说明白的确不多,希望这 ...

  9. PHP 文件上传注意一个地方,移动文件时要保证目标目录存在,否则报错

    move_uploaded_file ( $_FILES ["file"] ["tmp_name"], "upload/" . $fileN ...

  10. 【网络流24题】No.21 (最长 k 可重区间集问题 最长不相交路径 最大费用流)

    [] 输入文件示例input.txt4 21 76 87 109 13 输出文件示例output.txt15 [分析] 直接co题解好了,写得挺全.. [建模方法] 方法1 按左端点排序所有区间,把每 ...