热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

异常[java]

异常:程序中出现非致命性的错误为异常如果一个程序在运行过程中出现异常,会干扰程序正常运行java中父类:java.lang.Throwa





异常:
        程序中出现非致命性的错误为异常

如果一个程序在运行过程中出现异常,会干扰程序正常运行

        java 中   父类 :java.lang.Throwable   

                异常:Excption 类表示 程序员 需要处理

                分为:

                        检查式异常 : 语法      IOException    SQLException

                        运行时异常:RuntimeException

                错误 : Error 类 程序员解决不了    网络中断



异常处理  try……catch……final
 

throw 抛出:  跟的是异常对象        new   异常类( 实参  );


          通常写在方法定义阶段的方法体中,用来表名,什么情况下会有异常发生


throws  异常类型1,异常类型2……



例:


public   方法返回值     方法名称 ( 参数列表)throws  异常类1 ,异常类n {
         方法体 ;
        if(条件){
                
throw   new   异常类( "" );
            }
 }


public int devide(int x,int y)throws DevideByMinusException{
if (y<0) {
throw new DevideByMinusException("除数为负数",y);
}
int result&#61;x/y;
return result;


try{
    调用方法 &#xff08;该方法有可能发生异常&#xff09; 一旦发生异常之后 &#xff0c;会进入到catch中     3,1   
    输出运算结果
    }
catch ( 异常类型   变量名称 ){
                  捕获异常
    }
finally{


        有无异常发生都会执行 
        关闭数据库连接
   }


public static void main(String[] args) {
// TODO 自动生成的方法存根
A s&#61;new A();
try {
int result&#61;s.devide(9, -1);
System.out.println(result);
}catch (ArithmeticException e) {
System.out.println("ArithmeticException异常信息&#xff1a;"&#43;e.getMessage());
}
catch (DevideByMinusException e) {
System.out.println("异常信息"&#43;e.getMessage());
System.out.println("分母为"&#43;e.getDevisor());

}

finally {
System.out.println("有无异常都显示");
}
}

 


什么时候自定义异常&#xff1f;

当java中已有的异常类型无法满足需求时&#xff0c;需要我们来自定义异常。

                         





推荐阅读
  • Java编程思想一书中第21章并发中关于线程间协作的一节中有个关于汽车打蜡与抛光的小例子(原书的704页)。这个例子主要展示的是两个线程如何通过wait ... [详细]
  • 在开发中,有时候一个业务上要求的原子操作不仅仅包括数据库,还可能涉及外部接口或者消息队列。此时,传统的数据库事务无法满足需求。本文介绍了Java中如何利用java.lang.Runtime.addShutdownHook方法来保证业务线程的完整性。通过添加钩子,在程序退出时触发钩子,可以执行一些操作,如循环检查某个线程的状态,直到业务线程正常退出,再结束钩子程序。例子程序展示了如何利用钩子来保证业务线程的完整性。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
author-avatar
宇剑小窝_911
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有