热门标签 | 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 架构:深入理解 JDK 动态代理机制
    代理模式是 Java 中常用的设计模式之一,其核心在于代理类与委托类共享相同的接口。代理类主要用于为委托类提供预处理、过滤、转发及后处理等功能,以增强或改变原有功能的行为。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
  • 异常要理解Java异常处理是如何工作的,需要掌握一下三种异常类型:检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常ÿ ... [详细]
  • 本文详细介绍了Java中的注解功能,包括如何定义注解类型、设置注解的应用范围及生命周期,并通过具体示例展示了如何利用反射机制访问注解信息。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
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社区 版权所有