文档章节

Exception总结

jmsoldier
 jmsoldier
发布于 2014/12/28 10:54
字数 482
阅读 16
收藏 1

1.throw 和 throws的总结

    throws 时在声明方法的时候该方法要抛出异常 形式如下public static void testException()throws Exception

    throw是抛出异常对象 程序会在throw语句后立即终止,它后面的语句执行不到 如 throw new RuntimeException();

2.try catch块

      try {} catch (Exception e) {}finally{}   当成出现异常的时候会进入catch块中,无论是否有异常 都将执行fianlly                  

      代码块

      必须在 try 之后添加 catch 或 finally 块。try 块后可同时接 catch 和 finally 块,但至少有一个块。

      当含有多个catch块时 一旦某个catch捕获到匹配的异常类型,将进入异常处理代码。一经处理结束,就意味着整个try-catch语句结   

      束。其他的catch子句不再有匹配和捕获异常类型的机会.             

3.finally代码块

    无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。  当finally中含有return语句时,则方法立即结束,不会执行try catch块中的return  或 throw 语句        

    在以下4种特殊情况下,finally块不会被执行:
    1)在finally语句块中发生了异常。
    2)在前面的代码中用了System.exit()退出程序。
    3)程序所在的线程死亡。
    4)关闭CPU

4.自定义异常信息

    继承Exception  

    class MyException extends Exception { // 创建自定义异常类  
        String message; // 定义String类型变量  

        public MyException(String ErrorMessagr) { // 父类方法  
              message = ErrorMessagr;  
          }  
        public String getMessage() { // 覆盖getMessage()方法  
              return message;  

              }  

        }

4.问题总结

    1.)代码:

  1. public  classTest {  

  2.   

  3.     public static void main(String[] args) {  

  4.        System.out.println(newTest().test());  

  5.     }  

  6.     static int test()  

  7.     {  

  8.        int x = 1;  

  9.        try  

  10.        {  

  11.            return x;  

  12.        }  

  13.        finally  

  14.        {  

  15.            ++x;  

  16.        }  

  17.     }  

  18. }

    分析:return x  应该分开来看 , 在执行return之前  x的值已经返回给了主函数,而return的只是结束当前函数


© 著作权归作者所有

共有 人打赏支持
jmsoldier
粉丝 1
博文 19
码字总数 6224
作品 0
济南
私信 提问
Android JNI开发系列(十三) JNI异常处理

JNI 异常处理 JNI异常与JAVA处理异常的区别 JAVA 有异常处理机制,而JNI没有 如果JAVA中异常没有捕获,后面的代码不会执行,JNI会执行 JAVA编译时的异常,是在方法显示的声明了某一个异常,编...

蔡小鹏
2018/10/20
0
0
Java自定义Exception

这里总结一下Java的Exception,并实现一个自定义Exception类。 总结: Throwable对象分为两种类型:Error(表示编译时和系统错误);Exception(在Java类库、用户方法以及运行时故障中抛出的异常...

Triangle23
2014/12/02
0
1
c# throw和throw ex

c# throw和throw ex 我们在日常开发当中,经常会用到exception异常,并且我们会在exception中的catch块中throw exception,例如: static void M3(){ //你的业务代码 throw ex; } 但是大家是...

泽少军
2018/09/22
0
0
Django框架的中间件的5种用法和逻辑

一、什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。 每个中间件组件都负...

程序猿拿Q
2018/11/03
0
0
mybatis学习笔记(4)-开发dao方法

mybatis学习笔记(4)-开发dao方法 标签: mybatis [TOC] 本文讲解SqlSession,并对两种方法(原始dao开发和mapper代理开发)分别做简单展示 SqlSession使用范围 SqlSessionFactoryBuilder 通过创...

brianway
2016/02/27
180
0

没有更多内容

加载失败,请刷新页面

加载更多

android 延长Toast的时长

示例:myToast(5000,"hello"); public void myToast(int showTime, String msg) { Toast hello = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT); new CountDownTimer(......

雨焰
昨天
2
0
浅谈mybatis的日志适配模式

Java开发中经常用到的日志框架有很多,Log4j、Log4j2、slf4j等等,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。有关适配器模式例子可以参考 设计...

算法之名
昨天
7
0
大数据教程(13.6)sqoop使用教程

上一章节,介绍了sqoop数据迁移工具安装以及简单导入实例的相关知识;本篇博客,博主将继续为小伙伴们分享sqoop的使用。 一、sqoop数据导入 (1)、导入关系表到HIVE ./sqoop import --connect...

em_aaron
昨天
2
0
Git cherry-pick 使用总结

应用背景:假设现在有两个分支:dev_01, dev_02. 如果我想把dev_01分支上的某几个commit合并到dev_02分支, 那么怎么办呢? 这就是cherry-pick的工作了。cherry-pick会捡选某些commit, 即把某...

天王盖地虎626
昨天
9
0
css动态设置宽高

css 中可以使用 calc() 来动态设置宽高,但是,在表达式中运算符的前后必须要有空格 height:calc(100vh - 80px)

林梓阳
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部