建立一个Exception对象后你可以将对象返回,但不应该这样使用,更好的方法是用throw关键字来代替。throw用来抛出异常:
<?php throw new Exception( "my message", 44 ); ?>
throw 将脚本的执行中止,并使相关的Exception对象对客户代码可用。
以下是改进过的getCommandObject() 方法:
index_php5.php
<?php // PHP 5 require_once('cmd_php5/Command.php'); class CommandManager { private $cmdDir = "cmd_php5"; function getCommandObject($cmd) { $path = "{$this->cmdDir}/{$cmd}.php"; if (!file_exists($path)) { throw new Exception("Cannot find $path"); } require_once $path; if (!class_exists($cmd)) { throw new Exception( "class $cmd does not exist"); } $class = new ReflectionClass($cmd); if (!$class->isSubclassOf(new ReflectionClass('Command'))) { throw new Exception("$cmd is not a Command"); } return new $cmd(); } } ?>
代码中我们使用了PHP5的反射(Reflection)API来判断所给的类是否是属于Command 类型。在错误的路径下执行本脚本将会报出这样的错误:
Fatal error: Uncaught exception 'Exception' with message 'Cannot find command/xrealcommand.php' in /home/xyz/BasicException.php:10 Stack trace: #0 /home/xyz/BasicException.php(26): CommandManager->getCommandObject('xrealcommand') #1 {main} thrown in /home/xyz/BasicException.php on line 10
默认地,抛出异常导致一个fatal error。这意味着使用异常的类内建有安全机制。而仅仅使用一个错误标记,不能拥有这样的功能。处理错误标记失败只会你的脚本使用错误的值来继续执行。
您还没有登录,请您登录后再发表评论
主要介绍了java处理异常的机制关键字throw和throws使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
抛出throw关键字2---马克-to-win java 视频的详细描述
抛出throw关键字1---马克-to-win java视频的详细描述与介绍
Java中的throw与throws的关键字的使用
3. JVM 是如何处理异常的? 4. throw 和 throws 的区别是什么? 5. final、finally、finalize 有什么区别? 6. NoClassDefFoundError 和 ClassNotFoundException 区别? 7. try-catch-finally 中哪个部分可以省略?
Java异常处理--throw手动抛出异常对象
主要介绍了详解Java异常处理中throw与throws关键字的用法区别,这也是Java面试题目中的常客,需要的朋友可以参考下
本章目标 理解异常及其作用 使用try-catch-finally语句捕获和处理异常 使用throw、throws关键字 Java高级程序设计(第二版)--第2章-异常处理全文共19页,当前为第3页。 本章任务 任务1 识别异常 任务2 处理异常 任务...
第5章 异常处理;回顾;本章内容;5.1 异常概述;5.1 异常概述;5.1 异常概述;5.1.1 程序中的异常;5.1.2 异常分类;5.1.2 异常分类;5.1.2 异常分类;5.1.2 异常分类;5.1.3 学生实践练习;5.1.3 学生实践练习; 5.2 try-catch...
主要介绍了Java编程中使用throw关键字抛出异常的用法,是Java入门学习中的基础知识,需要的朋友可以参考下
abstract - 1 - boolean - 2 - break - 2 - byte - 2 - case - 3 - catch - 3 - ...throw - 16 - throws - 16 - transient - 17 - try - 17 - true - 18 - void - 18 - volatile - 18 - while - 18 -
C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。 1、try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。 2、catch:程序通过异常处理程序捕获异常。catch ...
异处理中的两个相近的关键字
后还可以跟一个finally块,finally块用于回收在try块里打开的物理资源,异常机制会保证finally块总被执行。throws关键字主要在方法签名中使用,用于声明该方法可能抛出的异常,而throw则用于抛出一个实际的异常,...
在Java中,当程序发生错误或异常时,可以使用throw关键字抛出一个异常。例如: if (x == 0) { throw new ArithmeticException("除数不能为0"); } 捕获异常 在Java中,我们可以使用try-catch语句来捕获异常。在try...
03 掌握使用try-catch-finally语句块捕捉并处理异常。 05 掌握设计和使用用户自定义异常。 04 掌握使用throw语句抛出异常,以及使用throws语句声明方法异常。 《Java程序设计案例教程》教学课件07异常处理全文共31...
课程作业,实现两数计算及其异常处理,异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数...
主要介绍了简单了解Java关键字throw和throws的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
throw和throws关键字的区别
异常处理的一般格式,用法流程及关键字throw throws try catch finally exception等的使用
相关推荐
主要介绍了java处理异常的机制关键字throw和throws使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
抛出throw关键字2---马克-to-win java 视频的详细描述
抛出throw关键字1---马克-to-win java视频的详细描述与介绍
Java中的throw与throws的关键字的使用
3. JVM 是如何处理异常的? 4. throw 和 throws 的区别是什么? 5. final、finally、finalize 有什么区别? 6. NoClassDefFoundError 和 ClassNotFoundException 区别? 7. try-catch-finally 中哪个部分可以省略?
Java异常处理--throw手动抛出异常对象
主要介绍了详解Java异常处理中throw与throws关键字的用法区别,这也是Java面试题目中的常客,需要的朋友可以参考下
本章目标 理解异常及其作用 使用try-catch-finally语句捕获和处理异常 使用throw、throws关键字 Java高级程序设计(第二版)--第2章-异常处理全文共19页,当前为第3页。 本章任务 任务1 识别异常 任务2 处理异常 任务...
第5章 异常处理;回顾;本章内容;5.1 异常概述;5.1 异常概述;5.1 异常概述;5.1.1 程序中的异常;5.1.2 异常分类;5.1.2 异常分类;5.1.2 异常分类;5.1.2 异常分类;5.1.3 学生实践练习;5.1.3 学生实践练习; 5.2 try-catch...
主要介绍了Java编程中使用throw关键字抛出异常的用法,是Java入门学习中的基础知识,需要的朋友可以参考下
abstract - 1 - boolean - 2 - break - 2 - byte - 2 - case - 3 - catch - 3 - ...throw - 16 - throws - 16 - transient - 17 - try - 17 - true - 18 - void - 18 - volatile - 18 - while - 18 -
C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。 1、try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。 2、catch:程序通过异常处理程序捕获异常。catch ...
异处理中的两个相近的关键字
后还可以跟一个finally块,finally块用于回收在try块里打开的物理资源,异常机制会保证finally块总被执行。throws关键字主要在方法签名中使用,用于声明该方法可能抛出的异常,而throw则用于抛出一个实际的异常,...
在Java中,当程序发生错误或异常时,可以使用throw关键字抛出一个异常。例如: if (x == 0) { throw new ArithmeticException("除数不能为0"); } 捕获异常 在Java中,我们可以使用try-catch语句来捕获异常。在try...
03 掌握使用try-catch-finally语句块捕捉并处理异常。 05 掌握设计和使用用户自定义异常。 04 掌握使用throw语句抛出异常,以及使用throws语句声明方法异常。 《Java程序设计案例教程》教学课件07异常处理全文共31...
课程作业,实现两数计算及其异常处理,异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数...
主要介绍了简单了解Java关键字throw和throws的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
throw和throws关键字的区别
异常处理的一般格式,用法流程及关键字throw throws try catch finally exception等的使用