Java 基础之异常抛出

Java,基础,异常抛出

在 Java 里,除了对异常的捕获外,你还可以抛出异常,还可以创造异常。抛出异常的作用就是告诉你的调用者,程序出现了不正常的情况了,得不要期望的结果了。

throws 声明抛出异常

在你实现的方法里,如果有你处理不了的异常,你应该选择把异常交给你的调用者,而不是让异常在你手上烂掉。比如调用者告诉你文件的路径,让你返回文件的内容,但是这个文件不存在,如果你这是简单的返回一个空 null 给调用者,它可能会以为文件的内容就是空,而不知道真实原因是文件不存在。总之好处多多,但是需要看你项目的需求了。

语法如下:很简单,就是在方法名的后面添加 throws 子句, throws 后面列出异常的类名。

public void methodname() throws AExcpetion,BException{

}

throw 抛出异常

throws 是写在方法名的后面的,用来声明这个方法将会抛出的异常。throw 是用来抛出异常的。还是拿文件不存在这个问题举例,你可以这样子做:

public String readFile(String path) throws FileNotFoundException{

File file = new File(path);

if(!file.exist()){

throw new FileNotFoundException("File not found");

}

// 如果文件存在

// read file and return

}

当然,你也可以这样子写:

public String readFile(String path) throws FileNotFoundException{

try{

FileInputStream fis = new FileInputStream(path);

// read file and return

}catch(FileNotFoundException e){

throws e;

}

}

这个异常不是你产生的,可是你捕获到了,但你又不知道怎么处理,那你就可以把这个异常抛出去,让调用者来处理。

当你的代码块里存在异常你又不愿意去 catch ,那么你可以在你的方法上添加 throws 子句。

你可以 throw 一个异常,让你的调用者来处理

throw 后面的语句就不会执行了。包括 return 。

如果你在 try-catch-finally 的 finally 里有工作需要处理,那么不要在 catch 语句块里 throw 异常。因为这样会导致 finally 语句块不被执行。

相关文章

- EOF -

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。

转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]

本文标题: Java 基础之异常抛出

本文地址:https://binkery.com/archives/437.html

java 抛出异常的作用_Java 基础之异常抛出相关推荐

  1. java中exception作用_java中的异常Exception的划分,以及他们的特性。

    1.异常分为编译时异常(ExceptionSubclass)和运行时异常(RuntimeException): 2.编译时异常的发生概率高,而运行时异常的发生概率比较低,因此编译时在编写代码时应该处理 ...

  2. python 使用raise语句主动抛出异常(Exception)、将异常抛出给上一级

    主动抛出异常 示例: 参考文章:使用Python提供的raise语句主动抛出异常 将异常抛出给上一级 示例: # -*- coding: utf-8 -*- """ @F ...

  3. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )

    文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任意类型对象 V 自定义异常 VI 异常相关代码 I 异常处理 1. 异常处理 : 使用 " try{}catch(){ ...

  4. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )

    转载自:https://blog.csdn.net/shulianghan/article/details/100002073 文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任 ...

  5. java 异常捕获抛出_JAVA异常处理捕获与抛出原理解析

    JAVA 异常 当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常.异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常. 这个时候,JAVA 就提供了优秀的处理方法:异常处理 ...

  6. java 异常处理 简书_Java基础知识8-异常处理

    配图 异常概述 异常是运行是在代码序列中引起的非正常情况.换句话说,异常是运行时错误. Java异常是用来描述在一段代码中发生的异常情况(也就是错误)的对象.当出现引起异常的情况时,就会创建用来表示异 ...

  7. java 捕捉的异常抛出_Java异常抛出和捕获

    Java中把非正常情况分为两种,异常(Exception)和错误(Error). 异常.png Error:一般是指与虚拟机相关的问题(虚拟机错误.线程死锁等),这种错误无法回复或不可能捕获 Exce ...

  8. Java:异常的概念及分类、异常的处理、异常抛出及自定义异常

    异常概念 异常分类   Java异常处理机制 try ...catch...finally throw和throws 自定义异常 一.异常的概念         什么是异常?             ...

  9. CC00069.bigdatajava——|Java集合类库.V05|——|Java.v05|异常机制.v50|异常抛出|补充|

    一.异常抛出 ### --- 基本概念--> 在某些特殊情况下有些异常不能处理或者不便于处理时, --> 就可以将该异常转移给该方法的调用者,这种方法就叫异常的抛出. --> 当方法 ...

最新文章

  1. linux DNS配置详解
  2. linux下安装两个nginx教程,在linux系统下安装两个nginx的简单方法
  3. 移动对meta的定义
  4. (android硬件应用实战)摄像头拍照实现和总结
  5. python云盘服务_Python无所不能?五分钟教会你用python打造个人云盘!
  6. jquery的$F()函数
  7. hibernate java内存一次能取多少条_Hibernate管理Session和批量操作分析
  8. Python爬虫实战之(五)| 模拟登录wechat 1
  9. 任何时候,写下一个类,一定要有三个函数
  10. js 数组(Array)
  11. 二叉树经典题之二叉树最近公共祖先(LeetCode)
  12. 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡...
  13. Java多线程研究(八)使用Exchange在多个线程间交换数据
  14. ubuntu 查询cpu个数
  15. 如何在 Mac 上安装新字体?
  16. Snipast截图软件
  17. 书摘---创业36条军规2:创业的三大条件
  18. vue 使用pug(详细说明)
  19. cql oracle,Cassandra CQL中的Where和Order By子句
  20. Mysql数据库备份和还原

热门文章

  1. 如何使用手机里的Windows系统云桌面?
  2. python爬虫基础(二)
  3. [附源码]java毕业设计音乐网站
  4. Win2000、NT 环境真正 RPL 无盘 WIN98 安装指南(转)
  5. C#和Access数据库连接
  6. WebService - SoapUI的使用
  7. JAVA拦截器(Interceptor)实现以及原码示例
  8. uni-app App权限配置
  9. 极光为华硕 ROG 游戏手机 3 搭建符合统一推送联盟标准的推送系统
  10. catia怎样倒2d_Catia Drafting平面图生成 3D 转2D教程.ppt