java 抛出异常的作用_Java 基础之异常抛出
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 基础之异常抛出相关推荐
- java中exception作用_java中的异常Exception的划分,以及他们的特性。
1.异常分为编译时异常(ExceptionSubclass)和运行时异常(RuntimeException): 2.编译时异常的发生概率高,而运行时异常的发生概率比较低,因此编译时在编写代码时应该处理 ...
- python 使用raise语句主动抛出异常(Exception)、将异常抛出给上一级
主动抛出异常 示例: 参考文章:使用Python提供的raise语句主动抛出异常 将异常抛出给上一级 示例: # -*- coding: utf-8 -*- """ @F ...
- 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )
文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任意类型对象 V 自定义异常 VI 异常相关代码 I 异常处理 1. 异常处理 : 使用 " try{}catch(){ ...
- 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )
转载自:https://blog.csdn.net/shulianghan/article/details/100002073 文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任 ...
- java 异常捕获抛出_JAVA异常处理捕获与抛出原理解析
JAVA 异常 当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常.异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常. 这个时候,JAVA 就提供了优秀的处理方法:异常处理 ...
- java 异常处理 简书_Java基础知识8-异常处理
配图 异常概述 异常是运行是在代码序列中引起的非正常情况.换句话说,异常是运行时错误. Java异常是用来描述在一段代码中发生的异常情况(也就是错误)的对象.当出现引起异常的情况时,就会创建用来表示异 ...
- java 捕捉的异常抛出_Java异常抛出和捕获
Java中把非正常情况分为两种,异常(Exception)和错误(Error). 异常.png Error:一般是指与虚拟机相关的问题(虚拟机错误.线程死锁等),这种错误无法回复或不可能捕获 Exce ...
- Java:异常的概念及分类、异常的处理、异常抛出及自定义异常
异常概念 异常分类 Java异常处理机制 try ...catch...finally throw和throws 自定义异常 一.异常的概念 什么是异常? ...
- CC00069.bigdatajava——|Java集合类库.V05|——|Java.v05|异常机制.v50|异常抛出|补充|
一.异常抛出 ### --- 基本概念--> 在某些特殊情况下有些异常不能处理或者不便于处理时, --> 就可以将该异常转移给该方法的调用者,这种方法就叫异常的抛出. --> 当方法 ...
最新文章
- linux DNS配置详解
- linux下安装两个nginx教程,在linux系统下安装两个nginx的简单方法
- 移动对meta的定义
- (android硬件应用实战)摄像头拍照实现和总结
- python云盘服务_Python无所不能?五分钟教会你用python打造个人云盘!
- jquery的$F()函数
- hibernate java内存一次能取多少条_Hibernate管理Session和批量操作分析
- Python爬虫实战之(五)| 模拟登录wechat 1
- 任何时候,写下一个类,一定要有三个函数
- js 数组(Array)
- 二叉树经典题之二叉树最近公共祖先(LeetCode)
- 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡...
- Java多线程研究(八)使用Exchange在多个线程间交换数据
- ubuntu 查询cpu个数
- 如何在 Mac 上安装新字体?
- Snipast截图软件
- 书摘---创业36条军规2:创业的三大条件
- vue 使用pug(详细说明)
- cql oracle,Cassandra CQL中的Where和Order By子句
- Mysql数据库备份和还原