异常处理三原则,异常处理机制

  异常处理三原则,异常处理机制

  1.包装器Java中的基本数据类型不是对象类型(引用类型)。但有时需要对对象而不是程序中的基本数据类型进行操作。所以java提供了一个包装器类,可以把基本数据类型包装成对象类型。但是数组对象没有类。

  基本数据类型和包装类型之间的对应关系:

  布尔布尔型

  字节

  字符字符

  双倍双倍

  浮子浮子

  int整数

  龙龙

  短期短期

  2.自动包装和拆包。打包和解包是从Java 1.5引入的,目的是自动将原始类型值转换成相应的对象。自动装箱和拆箱的机制可以让我们在Java中变量赋值或者方法调用的情况下,使用原语类型或者对象类型变得更加简单和直接。

  公共类别Ig1 {

  公共静态void main(String[] args) {

  int a=30

  整数b=20//自动打包

  integer n=integer . value of( 30 );

  system . out . println(b . int value());

  //解包操作

  int c=n;

  int cc=n . int value();

  system . out . println(cc);

  system . out . println(c);

  //Integer valueOf(int i):返回表示指定int值的Integer实例。

  //Integer valueOf(String s s):返回一个保存指定字符串值的Integer对象。3.异常概念异常是指程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)引起的。异常属于Java等面向对象编程语言中的对象。

  一开始大家不会把编程导致的错误归为异常。但是一般把错误看成是一种异常,所以异常一般分为两类,错误和异常。

  异常类型描述

  异常层次结构的根类

  RuntimeException运行时异常,大多数java.lang异常的根类。

  算术异常算术频谱错误异常,如被零除。

  ArraylndexOutOfBoundException数组大小小于或大于实际数组大小。

  NullPointerException试图访问空对象成员,空指针是一个异常。

  ClassNotFoundException无法加载所需的类。

  NumberF ormatException数字转换格式异常,例如从字符串到浮点数的转换无效。

  IOException I/O异常根类

  No filetfoundexception找不到文件。

  EOFException文件结尾

  中断异常线程中断

  IllegalArgumentException方法收到非法参数。

  类型转换异常

  SQLException操作数据库异常4。异常处理try块:感觉异常的语句代码块。

  Catch块:出现异常时要执行的代码块。

  最后:有没有异常必须执行的块代码?

  Throw:在try catch块代码中用于引发异常。

  抛出:在方法声明处抛出多个异常。

  最后,在异常处理中,是指最后是否有异常,是否有返回continue break,代码段是否会被执行。

  公共类Try1 {

  公共静态void main(String[] args) {

  system . out . println( main: test return 1());//2 //3

  }

  public static int testReturn1() {

  int I=1;

  尝试{

  我;

  system . out . println( try: I );

  返回I;//2

  //不写return的时候上面最后的结果是3

  }catch(异常e) {

  我;

  system . out . println( catch: I );

  }最后{

  我;//3

  system . out . println( finally: I );

  //执行此步骤,但最终值不输出此

  }

  返回I;//2

  }

  }导入Java . util . inputmismatchexception;

  导入Java . util . scanner;

  公共类Try2 {

  公共静态void main(String[] args) {

  /*尝试{

  Scanner sc=新扫描仪(system . in);

  系统;出;println( \ n请输入数字A );

  int a=sc . nextint();

  system . out . println( \ n请输入数字b );

  int b=sc . nextint();

  System.out.printf(%d/%d=%d %n ,a,b,a/b);

  }catch(异常e){

  system . out . println( \ n输入不正确,必须输入所有数字,第二个b不能输入0 );

  }

  System.out.println(感谢使用);

  */Scanner sc=新扫描仪(system . in);

  while (true){

  尝试{

  System.out.println(请输入数字A );

  int a=sc . nextint();

  System.out.println(请输入数字B );

  int b=sc . nextint();

  System.out.printf(%d/%d=%d %n ,a,b,a/b);

  打破;

  }catch(算术异常e){

  System.out.println(第二个不能输入0 );

  } catch(InputMismatchException e){

  System.out.println(输入错误,必须输入数字);

  if(sc . has next())sc . next();

  }catch(异常e){

  system . out . println( \ n系统未知异常);

  }

  继续;

  }

  System.out.println(“程序结束!”);

  }

  }

  5.try-with-resources语句try-with-resources是从JDK7引入的,并在JDK9中进行了改进,以便用户可以更方便、更简洁地使用try-with-resources。

  Try-with-resources是JDK 7中新的异常处理机制,可以轻松关闭try-catch语句块中使用的资源。所谓资源是指程序完成后必须关闭的对象。Try-with-resources语句确保每个资源在语句结束时关闭。所有java.lang.AutoCloseable接口都实现了(其中包括所有实现了java.io.Closeable的对象),可以作为资源使用。

  导入Java . io . filewriter;

  导入Java . io . io exception;

  公共类FileWriterDemo {

  公共静态void main(String[] args) {

  String=你好中国效应。concat (string.format (%TF% TT ,system .current time millis()));

  system . out . println(str);

  //java 1.7试用--资源

  String f= user.text

  try(FileWriter writer=new FileWriter(f)){

  writer . write(str);

  } catch (IOException e) {

  e . printstacktrace();

  }

  //传统异常处理代码的实现

  FileWriter writer=null

  尝试{

  writer=new file writer(f);

  writer . write(str);

  }catch(异常e) {

  e . printstacktrace();

  }最后{

  尝试{

  writer . close();

  }catch (IOException e){

  抛出新的runtime exception(e);

  }

  }

  }

  }5、Finalize()方法垃圾收集机(Garbage Collection),又称GC,垃圾收集器主要有以下特点:

  当程序不再使用该对象时,垃圾收集器将回收它。垃圾收集在后台运行。我们不能命令垃圾收集器立即回收资源,但是可以告诉他可以尽快回收资源(System.gc()和Runtime.getRuntime()。gc())。当垃圾收集器回收一个对象时,首先会调用该对象的finalize()方法。GC主要针对堆内存。finalize()是对象中的一个方法。当堆空间中的对象没有被栈空间变量指向时,该对象将等待被java收集。

  final、finally和finalize之间的区别很简单:

  Final用于声明属性、方法和类,分别表示属性不可变(常量)、方法不可重写和类不可继承。

  Finally是异常处理语句结构的一部分,这意味着总是执行。

  Finalize是Object类的一个方法。当垃圾收集器执行时,被收集对象的这个方法将被调用,用于垃圾收集过程中要收集的其他资源,如关闭文件等。

  版权归作者所有:原创作品来自博主Czfhhh,转载授权请联系作者,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: