Java处理异常2种机制关键字区别解析

 更新时间:2020年01月21日 09:46:54   作者:King-D  
这篇文章主要介绍了java处理异常2种机制关键字区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了java处理异常2种机制关键字区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在异常处理的过程中,throws和throw的区别是?

throws:是在方法上对一个方法进行声明,而不进行处理,而是向上传,谁调用谁处理.

throw:是在具体的抛出一个异常类型.

throws的栗子:

throws的话,就是这个方法有可能会产生异常,而我只是将它声明出去,我自己不处理,如果有人调用的时候,可以知道,这个方法,有可能会抛出异常,我要是调用的话,我就得处理,或者接着throws.

格式是:方法名(参数)throws 异常类1,异常类2,.....

class Math{
   public int div(int i,int j) throws Exception{
     int t=i/j;
     return t;
   }
 }

public class ThrowsDemo {
   public static void main(String args[]) throws   Exception{
     Math m=new Math();
     System.out.println("出发操作:"+m.div(10,2));
   }
 }

throw:在一个有异常中的方法中,可以进行捕获,也可以进行throws

注意throws:一旦被执行,程序就会立即转入异常处理阶段,后面的语句就不再执行了,而且所在的方法不再返回有意义的值.

public class TestThrow
{
  public static void main(String[] args) 
  {
    try
    {
      //调用带throws声明的方法,必须显式捕获该异常
      //否则,必须在main方法中再次声明抛出
      throwChecked(-3);      
    }
    catch (Exception e)
    {
      System.out.println(e.getMessage());
    }
    //调用抛出Runtime异常的方法既可以显式捕获该异常,
    //也可不理会该异常
    throwRuntime(3);
  }
  public static void throwChecked(int a)throws Exception
  {
    if (a > 0)
    {
      //自行抛出Exception异常
      //该代码必须处于try块里,或处于带throws声明的方法中
      throw new Exception("a的值大于0,不符合要求");
    }
  }
  public static void throwRuntime(int a)
  {
    if (a > 0)
    {
      //自行抛出RuntimeException异常,既可以显式捕获该异常
      //也可完全不理会该异常,把该异常交给该方法调用者处理
      throw new RuntimeException("a的值大于0,不符合要求");
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java中JSR303的基本使用详情

    Java中JSR303的基本使用详情

    这篇文章主要介绍了Java中JSR303的基本使用详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 自定义starter引发的线上事故记录复盘

    自定义starter引发的线上事故记录复盘

    这篇文章主要为大家介绍了自定义starter引发的线上事故记录复盘,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Spring mvc JSON数据交换格式原理解析

    Spring mvc JSON数据交换格式原理解析

    这篇文章主要介绍了Spring mvc JSON数据交换格式原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Spring Boot循环依赖的症状和解决方案

    Spring Boot循环依赖的症状和解决方案

    循环依赖是指在Spring Boot 应用程序中,两个或多个类之间存在彼此依赖的情况,形成一个循环依赖链。这篇文章主要介绍了SpringBoot循环依赖的症状和解决方法
    2023-04-04
  • Java使用FileReader读取文件详解

    Java使用FileReader读取文件详解

    本文将为大家介绍FileReader类的基本用法,包括如何创建FileReader对象,如何读取文件,以及如何关闭流,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-09-09
  • Java实现文件变化监听代码实例

    Java实现文件变化监听代码实例

    这篇文章主要介绍了Java实现文件变化监听代码实例,通过定时任务,轮训查询文件的最后修改时间,与上一次进行对比,如果发生变化,则说明文件已经修改,进行重新加载或对应的业务逻辑处理,需要的朋友可以参考下
    2024-01-01
  • java后台接收app上传的图片的示例代码

    java后台接收app上传的图片的示例代码

    本篇文章主要介绍了java后台接受app上传的图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Java判断字符串是不是数字过程解析

    Java判断字符串是不是数字过程解析

    这篇文章主要介绍了Java判断字符串是不是数字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 一文秒懂IDEA中每天都在用的Project Structure知识

    一文秒懂IDEA中每天都在用的Project Structure知识

    这篇文章主要介绍了一文秒懂IDEA中每天都在用的Project Structure知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 通过实例解析synchronized和lock区别

    通过实例解析synchronized和lock区别

    这篇文章主要介绍了通过实例解析synchronized和lock区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12

最新评论