throw 语句
我们也可以写代码来抛出异常,抛出异常的语句时throw,其格式如下:
throw 异常类的对象名
用throw抛出异常,一般放在方法内部。一个程序可以有多个throw。throw语句执行时,其后面的代码不再执行,程序转到异常处理程序段。
需要注意一下两点:
第一throw后面的异常类对象名必须是Throwable类的子类或对象。例如:“throw new Expection(“throw抛出异常!”);”是正确的,因为创建的是Expection类的对象;而“throw new String(“throw抛出异常!”);”是错误的,这是由于throw语句后面的字符串类String的对象,而不是异常类Expection的对象。
第二:throw一旦抛出异常,后面的语句就不执行了。例如下面的程序:
class myExpection extends Expection
{
}
class Myclass
{
void method()
{
MyExpection e=new MyExpection();
if(){
throw e;
}
System.out.println("ddf");//不再执行
}
}
这个程序段中,首先创建了一个自定义的异常类对象e,然后抛出该异常类的对象,这时最后输出一条语句“System.out.println("ddf");”不再执行。
throw 语句的更多相关文章
- try{}、catch(){}、throw语句
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- java异常处理-finally中使用return和throw语句
java异常语句中的finally块通常用来做资源释放操作,如关闭文件.关闭网络连接.关闭数据库连接等.正常情况下finally语句中不应该使用return语句也不应该抛出异常,以下讨论仅限于java ...
- SQL Server2012中的Throw语句尝试 RAISERROR和THROW比较
SQL SERVER2012实现了类似C#抛出异常的Throw语句.相比较于SQL Server2005之前使用@@ERROR,和SQL Server2005之后使用RAISERROR()引发异常都是 ...
- VC6下 try catch 在release下的杯具(默认情况下,要加上throw语句catch才不会被优化掉)
IDE:VC6 今天遇到一个小问题,把我郁闷了好久,××医生的VulEngine不时在wcsstr处发生crash,加了一番强大的参数检查后,再加上了强大的try catch,其实不是很喜欢用try和 ...
- try、catch 和 throw 语句 (了解)
C++ 异常使用 try.catch 和 throw 关键字. 引发表达式指示错误或异常情况. 可以将任何类型的对象用作引发表达式的操作数. 此对象通常用于传达有关错误的信息. 通常,应使用在标准库中 ...
- C# 自定义异常类 throw语句抛出异常
Exception概述: 异常(Exception)一般分为两大类SystemException.ApplicationException,前者是预定义的异常类,后者是用户自定义异常类时需要继承的类 ...
- Error js内置错误 js处理错误流程 Throw语句
Exceptional Exception Handling in JavaScript MDN资料 Anything that can go wrong, will go wrong. ...
- JS Error 内置异常类型 处理异常 Throw语句
Exceptional Exception Handling in JavaScript MDN资料 Anything that can go wrong, will go wrong. ...
- Js中的三个错误语句:try、catch、throw
Js中的三个错误语句:try.catch.throw
随机推荐
- WampServer 在 httpd.conf 中配置多站点 (IP 配置法:不用每次修改 hosts 文件 + 域名配置法 )
因为要用 ThinkPHP 的当前最新版本 3.2.2,对应要求 PHP 的版本要高于 5.3.0,所以安装了 WampServer 2.2 ( Apache 2.2.21,PHP 5.3.10,My ...
- AsyncTask的基本使用
// String --> doInBackground(Params... params)的参数 // File --> publishProgress(Progress... valu ...
- 解决蓝屏代吗0x0000007B的几种常见办法
解决蓝屏代吗0x0000007B的几种常见办法 0x0000007B 蓝屏代码的分析 ◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 网络上经过收集,主要有四种可能.第一是新 ...
- memcached学习笔记1--概念
1.memcached是danga的一个项目,最早是LiveJournal服务的,最初为了加速LiveJournal访问速度而开发,后来被很多大型网站采用 官网: http://www.danga.c ...
- SET GLOBAL long_query_time=0
SHOW VARIABLES LIKE '%long%'
- Java IO包装流如何关闭?
问题: (1)JAVA的IO流使用了装饰模式,关闭最外面的流的时候会自动调用被包装的流的close()方吗? (2)如果按顺序关闭流,是从内层流到外层流关闭还是从外层到内存关闭? 问题(1)解释: ...
- html轮播效果的实现
要实现如下图的效果 点击可以选择图片:不点击的时候自动轮播:并且点击完后再次自动轮播. 思路:如同在房子里透过窗子看路过的火车一样,窗子是不动的,但火车是陆续经过窗子的,所以透过窗子可以看到依次看完所 ...
- CSS的display属性,显示或隐藏元素
<html> <head> <script type="text/javascript"> function removeElement() { ...
- redis配置文件中文解释
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => bytes # 1kb => ...
- Delphi调用约定
Register Calling Convention Ojbect Pascal的默认调用约定为register,寄存器调用约定会将前三个参数依次放入eax,edx,ecx,返回值是eax(根据类型 ...