热门标签 | 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;需要我们来自定义异常。

                         





推荐阅读
  • 深入解析Android Activity生命周期
    本文详细探讨了Android中Activity的生命周期,通过实例代码和详细的步骤说明,帮助开发者更好地理解和掌握Activity各个阶段的行为。 ... [详细]
  • 深入理解Java反射机制
    本文将详细介绍Java反射的基础知识,包括如何获取Class对象、反射的基本过程、构造器、字段和方法的反射操作,以及内省机制的应用。同时,通过实例代码加深对反射的理解,并探讨其在实际开发中的应用。 ... [详细]
  • 本文详细介绍了使用Java语言来测量程序运行时间的方法,包括代码示例和实现步骤,旨在帮助开发者更好地理解和应用时间测量技术。 ... [详细]
  • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 个人博客:打开链接依赖倒置原则定义依赖倒置原则(DependenceInversionPrinciple,DIP)定义如下:Highlevelmo ... [详细]
  • 本文探讨了如何选择一个合适的序列化版本ID(serialVersionUID),包括使用生成器还是简单的整数,以及在不同情况下应如何处理序列化版本ID。 ... [详细]
  • 字符、字符串和文本的处理之Char类型
    .NetFramework中处理字符和字符串的主要有以下这么几个类:(1)、System.Char类一基础字符串处理类(2)、System.String类一处理不可变的字符串(一经 ... [详细]
  • GCC(GNU Compiler Collection)是GNU项目下的一款功能全面且高效的多平台编译工具,广泛应用于Linux操作系统中。本文将详细介绍GCC的特点及其基本使用方法。 ... [详细]
  • Java实现实时更新的日期与时间显示
    本文介绍了如何使用Java编程语言来创建一个能够实时更新显示系统当前日期和时间的小程序。通过使用Swing库中的组件和定时器功能,可以实现界面友好且功能强大的时间显示应用。 ... [详细]
  • 本文介绍了如何通过创建自定义 XML 文件来修改 Android 中 Spinner 的项样式,包括颜色和大小的调整。 ... [详细]
  • 本文介绍了一种在 Android 开发中动态修改 strings.xml 文件中字符串值的有效方法。通过使用占位符,开发者可以在运行时根据需要填充具体的值,从而提高应用的灵活性和可维护性。 ... [详细]
  • 本文详细探讨了 Android Service 组件中 onStartCommand 方法的四种不同返回值及其应用场景。Service 可以在后台执行长时间的操作,无需提供用户界面,支持通过启动和绑定两种方式创建。 ... [详细]
  • 本文探讨了如何利用 Android 的 Movie 类来展示 GIF 动画,并详细介绍了调整 GIF 尺寸以适应不同布局的方法。同时,提供了相关的代码示例和注意事项。 ... [详细]
  • 本教程旨在指导开发者如何在Android应用中通过ViewPager组件实现图片轮播功能,适用于初学者和有一定经验的开发者,帮助提升应用的视觉吸引力。 ... [详细]
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社区 版权所有