throw相关内容

Java抽象类抛出

如果我有一个具有以下功能的抽象类 - 抽象类A { void foo s)throws Exception { throw new Exception(“exception!”); } } 然后另一个类扩展抽象类并实现它自己的版本的foo - class B extends A { void foo(String s){ //做的事情*不*抛出一 ..
发布时间:2017-09-29 00:04:18 Java开发

PHP致命错误:未捕获异常“异常”

我正在玩PHP中的异常。例如,我有一个脚本读取$ _GET请求并加载一个文件;如果文件不存在,应该抛出一个新的异常: if(file_exists($ _SERVER ['DOCUMENT_ROOT'] 。'/'。$ _ GET ['image'])){ //这里真的很奇怪。 } else { throw new Exception(“请求的文件不存在”); } ..
发布时间:2017-09-28 23:59:13 PHP

什么时候捕获异常vs何时抛出异常?

我已经在Java中编写了一段时间了。但有时候,我不明白什么时候我应该抛出异常,什么时候应该捕获异常。我正在开展一个有很多方法的项目。层次结构是这样的 - 方法A将调用方法B,方法B将调用一些方法C,方法C将调用方法D和方法E. 所以目前我正在做的是 - 我抛出所有的异常方法A并在方法A中捕获,然后记录为错误。 但我不知道这是否是正确的方法?或者我应该开始捕获所有方 ..
发布时间:2017-09-28 22:57:58 Java开发

Java未经检查/检查异常澄清

我一直在阅读有关未经检查的和已检查的问题,没有一个在线资源已经清楚了解差异以及何时使用。 从什么我了解,他们都在运行时抛出,它们都代表超出逻辑预期范围的程序状态,但检查的异常必须明确地被捕获,而未选中的异常则不会。 $ b $我的问题是,假设为了论证,我有一个方法来分割两个数字 double divide(double fractator,双分母) {返回分子/分母; ..
发布时间:2017-09-28 21:58:48 Java开发

什么可以扔在Java中?

传统的智慧说,您只能在Java中抛出扩展 Throwable 的对象,但是可以禁用字节码验证器,并使Java能够编译并运行任意的代码对象 - 甚至原语? 我查了JVM的 athrow ,它将弹出操作数堆栈上的第一个objref;但是会在运行时检查是否指示参考指向 Throwable 解决方案 这取决于您的JVM实现。根据Java VM规范,如果对象不是 Throwable ,则是未定 ..
发布时间:2017-09-28 21:56:49 Java开发

从构造函数抛出异常

我正在与一名同事辩论一下关于从构造函数中抛出异常的想法,并认为我想要一些反馈。 是否可以抛出异常构造函数,从设计的角度来看? 说我在一个类中包装一个posix互斥体,它看起来像这样: class Mutex { public: Mutex(){ if(pthread_mutex_init(& mutex_,0)! = 0){ throw MutexInitExcepti ..
发布时间:2017-09-27 22:33:44 C/C++开发

在错误对象相关性的JavaScript中抛出错误

这几乎是IE相关的,因为IE是我用来测试这个的环境,但是我想知道当你抛出错误时是否会影响错误对象属性的相关性。请考虑以下javascript: 函数MyClass(Arg1,Arg2)// my.js的第5行 { if(typeof Arg1!=“string”) throw new Error(“Invalid argument passed for MyClass”); //在 ..
发布时间:2017-08-28 02:00:08 前端开发

从构造函数抛出异常

我与同事讨论关于从构造函数抛出异常的问题,我想要一些反馈。 是否可以抛出异常构造函数,从设计的角度? 假设我在一个类中包装一个posix mutex,它看起来像这样: > class Mutex { public: Mutex(){ if(pthread_mutex_init(& mutex_,0)! = 0){ throw MutexInitException(); ..
发布时间:2016-12-29 16:03:32 C/C++开发

说服Swift的一个函数永远不会返回,由于抛出的异常

因为Swift没有抽象方法,我创建一个方法,其默认实现无条件地引发错误。这迫使任何子类重写抽象方法。我的代码看起来像这样: class SuperClass { func shouldBeOverridden() - > ReturnType { let exception = NSException( name:“Not implemented!”, reason:“一个具体的子 ..
发布时间:2016-12-22 13:00:11 移动开发

你可以抛出一个条件表达式? (是:如何将边界检查扩展到多维?)

注意:我通过实现完全不同的解决了原始问题。 这是我的一个扩展以前的帖子。我根据这个答案做了一个容器类: template struct array_md { //有一个没有扩展的类模板专门化。 //想象各种N ...组件是括号括起来的,而不是 //的逗号分隔。如果“N ...”为空,那么我们只需要“T” //作为“dir ..

在catch块中重新抛出异常

任何人都可以确认此信息是否正确: 在C ++中,在catch块中,我们可以使用throw语句重新抛出异常,抛出的异常应该与当前捕获的异常类型相同。 解决方案 rethrown异常可以有不同的类型。 在VS2012上编译并正确运行 // exception #include using namespace std; int main(){ ..
发布时间:2016-10-30 02:21:38 C/C++开发

在抛出异常后返回

在 throw 之后返回一个值有什么好处吗?如果没有,可以忽略 return 语句,并且它可以删除编译器错误 C4715:并非所有控制路径都返回值 编辑:(示例代码) $ b $ b for(ushort i = 0; i if(unitFormation [i] == unit) { return unitSetup [i]; } else throw unit; ..
发布时间:2016-10-26 23:18:50 C/C++开发

通过引用捕获的抛出对象的生存期

C ++标准,第15.1.4节:sais: 正在抛出的异常的临时副本的内存分配在未指定的方式,除了3.7.3.1中所述。 暂停只要存在为该异常执行的处理程序,就会暂停。 为什么这个代码崩溃(我知道这不是最佳实践): class magicException { private : char * m_message; public: magicException ..
发布时间:2016-10-23 20:32:25 C/C++开发