zoukankan      html  css  js  c++  java
  • 异常处理、常见异常说明

    常见异常简析:

    ①  java.lang.ArithmeticException   算数异常。当运行时出现算术的错误(比如,除零)抛出。

    ②  java.lang.NullPointerException空指针异常。对null值调用属性和方法时抛出。

    ③  Java.long.ArrayIndexOutOfBoundsException  数组下标越界异常。当数组变量引用非法下标时抛出。

    ④  Java.long.NuberFormatException  数字格式化异常。当将字符串转成整形时,字符串中含有非数字的字符时抛出。

    ⑤  java.io.FileNotFoundException  文件未找到异常。当对文件进行操作时,错误的书写了文件路径时抛出。

    ⑥ java.sql.SQLException:Column "id2" not found 列名书写错误

    ⑦ java.sql.SQLException:Parameter index cut of range 占位符的数量和参数个数不匹配

    ⑧ com.mysql.jdbc.exceptions.jdbc4.MysqlSyntaxErrorException  you have an error in your SQL syntax        SQL语句书写错误

    ⑨java.sql.SQLException: Parameter index out of range   SQL语句占位符的数量和参数个数不匹配,检查一下问号的个数和是否是英文问号。

    ⑩java.sql.SQLException : Column 'id2' not found 列书写错误

    异常处理:捕获异常

     1 try {
     2 
     3 
     4 
     5 }   catch (Exception e) {
     6 
     7          e.printStackTrace() 
     8 
     9 }
    10        finally{
    11 
    12          System.out.println("000000000");
    13 
    14 }
    15 
    16  

    代码讲解:

        ① Try块中描述需要测试的代码,也就是可能会抛出异常的代码。Catch块中通过异常变量e,捕获try块中抛出的异常对象。当try块中抛出异常,会执行catch块中的代码。

      ② 在try快中如果抛出了异常。那么会终止try块中后面代码的运行,转入catch块中执行。

      ③ 如果一个try块,有多个catch块捕获异常,当try块抛出异常时,只会执行第一个匹配异常的catch块,其他catch块全部忽略。(多个catch块中,一般父类异常写在后面。)

    finally{

        System.out.println("000000000");

    }

    Finally块:

    Finally块表示无论是否有异常,都会执行的语句块。通常用finally描述资源回收动作,比如:流的关闭,数据库的关闭,等等。

    如果在try块或catch块中有return语句,那么finally块会在跳出方法之前执行。

    如果在try块中关闭虚拟机(System.exit(0),那么finally快不会执行。

    异常执行的顺序:

    先执行try块,顺序执行。如果有异常发生,转去catch块执行,同时终止try块中的其他代码。无论是否有异常,都会执行finally语句块。

    throw new Exception();表示显示抛出异常对象。

    异常的分类:

    1、编译期异常:要求必须进行捕获异常,如果不进行异常捕获,那么会发生编译错误。所以编译期异常,也叫检查异常。

    2、运行期异常:开发者可以捕获,也可以不捕获。如果不捕获,也不会发生编译错误。所有的运行期异常都是RuntimeException 的子类。所以,运行期异常,也叫非检查异常。

    throws为方法修饰符。表示一个方法可能会抛出某种异常。那么,调用该方法时,就需要捕获该方法抛出的异常。

    //得到197011日到当前时间的毫秒数

    Long x=System.currentMillis();

    System.out.println(x);  

    垃圾回收条件:

      1、该对象没有被变量所指。

      2、该对象没有被使用

      垃圾回收由虚拟机控制,程序员无法干预,但可以通过System.gc()加快垃圾回收的速度。

    //得到用户当前的工作目录

    String path=System.getProperty(“user.dir”);

    System.out.println(path);

     

    日期相关的类:

    @Deprecated为方法的注解,表示该方法是过时的方法,可以用,但有更好的方法去替代该方法。

    Date d=new Date();

    //得到年份

    Int year=d.getYear();

    //得到月份

    Int month=d.getMonth();

    //得到日期

    Int date=d.getDate();

    System.out.println((1900+year));

    父类

    方法

    备注

    java.util

    Date

    java.long

    Math

    Random()

    String

    Final类型,不能有子类

    包装类:包装类对象中包含的值不变。

    String a=abc;String b=new String(abc);的区别:

    变量a指向的是数据段中的字符串常量对象。而变量b指向的是堆空间中的字符串对象。不过,在堆空间中存放的字符串常量,必须以字符串常量作为模板,拷入堆空间。所以,通过new String(“abc”)创建的字符串对象,可能产生两个字符串对象。一个在数据段中,一个在堆中。

    子类重写父类的方法,方法名、返回类型、参数列表都要一值。要求是访问修饰符要大于或等于父类方法。抛出的异常要小于或等于父类方法。

  • 相关阅读:
    [转载][开源框架推荐]VTDXML:世界上最快的XML处理框架
    iptables规则的查看、添加、删除和修改
    [转载]Linux大文件传输
    nginx+ php 安装配置实用
    wojilu框架代码分析之ActionProcessor.Process()
    数据库范式通俗理解,谈谈数据库设计
    我记录综合系统学习研究之用户管理二(wojilu.Web.Controller.Users MainController)
    我记录学习研究之前端开发二(js基于1.8版)
    我记录综合系统学习研究之开篇
    我记录综合系统学习研究之用户管理一(wojilu.Web.Controller.Users MainController)
  • 原文地址:https://www.cnblogs.com/jichuang/p/6664166.html
Copyright © 2011-2022 走看看