我们也可以写代码来抛出异常,抛出异常的语句时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 语句的更多相关文章

  1. try{}、catch(){}、throw语句

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  2. java异常处理-finally中使用return和throw语句

    java异常语句中的finally块通常用来做资源释放操作,如关闭文件.关闭网络连接.关闭数据库连接等.正常情况下finally语句中不应该使用return语句也不应该抛出异常,以下讨论仅限于java ...

  3. SQL Server2012中的Throw语句尝试 RAISERROR和THROW比较

    SQL SERVER2012实现了类似C#抛出异常的Throw语句.相比较于SQL Server2005之前使用@@ERROR,和SQL Server2005之后使用RAISERROR()引发异常都是 ...

  4. VC6下 try catch 在release下的杯具(默认情况下,要加上throw语句catch才不会被优化掉)

    IDE:VC6 今天遇到一个小问题,把我郁闷了好久,××医生的VulEngine不时在wcsstr处发生crash,加了一番强大的参数检查后,再加上了强大的try catch,其实不是很喜欢用try和 ...

  5. try、catch 和 throw 语句 (了解)

    C++ 异常使用 try.catch 和 throw 关键字. 引发表达式指示错误或异常情况. 可以将任何类型的对象用作引发表达式的操作数. 此对象通常用于传达有关错误的信息. 通常,应使用在标准库中 ...

  6. C# 自定义异常类 throw语句抛出异常

    Exception概述: 异常(Exception)一般分为两大类SystemException.ApplicationException,前者是预定义的异常类,后者是用户自定义异常类时需要继承的类 ...

  7. Error js内置错误 js处理错误流程 Throw语句

    Exceptional Exception Handling in JavaScript       MDN资料 Anything that can go wrong, will go wrong. ...

  8. JS Error 内置异常类型 处理异常 Throw语句

    Exceptional Exception Handling in JavaScript       MDN资料 Anything that can go wrong, will go wrong. ...

  9. Js中的三个错误语句:try、catch、throw

    Js中的三个错误语句:try.catch.throw

随机推荐

  1. PHP 命名空间总结

    PHP 5.3 及以上版本中引入了命名空间 的概念. notes: 1. 在 PHP 中,命名空间用来解决在编写 类库 或 应用程序 时创建 可重用 的 代码如 类 或 函数 时碰到的两类问题: ① ...

  2. 获取android设备的IP

    public class IPAddressUtils { public static String getLocalIpAddress() { try { String allIP = " ...

  3. Ubuntu 安装字体

    将字体Copy到/usr/share/fonts/windows目录下,然后执行以下几条命令更新系统字体缓存: cd /usr/share/fonts/vista/ sudo mkfontscale ...

  4. mysql查询所有字段(*),并且联表时需要特别注意的地方

    如果不标明*是读取哪个表,确实会将所有三个表都读出来.需要小心

  5. 一台电脑安装两个xampp的方法

    如果一台机器已经有一个xampp..如果还需要安装另外一个不同版本的xampp(里面PHP,mysql不同版本之类的)用做测试.则可以安装绿色版(不需注册,解压就可用) 下载地址(第二个xampp只能 ...

  6. 提高php编程效率技巧

    提高php编程效率技巧 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-08-13   php是全球范围应用范围最广的开发语言,php和linux.apache.mysql紧密结合,形 ...

  7. directX学习系列8 颜色融合(转)

    1, Multipass(多通道)    将一个任务划分成几个阶段,由多个pass处理不同阶段,后续pass总是处理前一个pass的结果.例如复杂的光照方程可以分成几个pass来计算.    用不同的 ...

  8. 【IOS笔记】View Programming Guide for iOS -1

    原文:View Programming Guide for iOS View and Window Architecture Views and windows present your applic ...

  9. 页面静态化3 --- 伪静态技术之Apache的rewrite机制

      Apache的rewrite机制: 意思就是,你发送的地址,比如:http://localhost/news-id67.html会被Apache改写成http://localhost/news.p ...

  10. SqlServer 高版本数据库 降级

    SQL Server2012 1 首先就来介绍一下SQL Server2012数据库的降级方法,成功之后突然感觉很简单,但是没成功之前很郁闷.废话少说,直接开始. 打开SQL Server2012,连 ...