throws和throw区别

  • throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。
  • 而throw则是指抛出的一个具体的异常类型

关键字:throw,throws,try和catch的用法如下:

  1. throws出现在方法的声明中,表示该方法可能会抛出的异常,允许throws后面跟着多个异常类型。
  2. throw出现在方法体中,用于抛出异常。当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw。
  3. try出现在方法体中,它自身是一个代码块,表示尝试执行代码块的语句。如果在执行过程中有某条语句抛出异常,那么代码块后面的语句将不被执行。

theows操作代码:

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(5,0));
System.out.println("操作:"+m.div(10,5))
}
}

throw操作代码:

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,不符合要求");
}
}
}

  

最新文章

  1. NLB网路负载均衡管理器详解
  2. Socket 通信(基础原理、实时聊天系统雏形)
  3. SQLite剖析之体系结构
  4. 编译本地64位版本的hadoop-2.6.0
  5. AngularJS的Filter用法详解
  6. 【转载】CSS 伪类-:before和:after
  7. thrift demo
  8. ASP.NET WebAPI 09 Controller的激活
  9. SQL Sever 2008 安装
  10. 基础组件_Window(窗口)
  11. 直接查数据导出xls
  12. Drawcli分析
  13. 翻译:如何使用CSS实现多行文本的省略号显示
  14. Docker(开课吧笔记)
  15. MySQL数据库基础(MySQL5.7安装、配置)
  16. Sigma Function
  17. mpvue——Error: EPERM: operation not permitted
  18. java笔记 -- 数学函数与常量
  19. Spring配置ArgumentResolver,统一进行session鉴定
  20. 一个洛谷Material化的Stylish美化主题

热门文章

  1. QT之QComboBox
  2. 2019 Multi-University Training Contest 6 Nonsense Time (纯暴力)
  3. 常用Linux Tips(不定期更新)
  4. error in ./src/pages/login.vue?vue&type=style&index=0&lang=less&
  5. csps模拟67神炎皇,降雷皇,幻魔皇题解
  6. Ubuntu GitHub操作——创建仓库
  7. Docker系列(十三):Kubernetes Service的负载均衡和网络路由的秘密
  8. vue-cli 本地环境 API 代理设置和解决跨域
  9. JS实用插件
  10. C开发系列-函数