Questions tagged «try-catch»

try-catch是一种语法结构,用于捕获代码段引发的异常

5
在PHP Try Catch块中引发异常
我在Drupal 6 .module文件中有一个PHP函数。我试图在执行更复杂的任务(例如数据库查询)之前运行初始变量验证。在C#中,我曾经在Try块的开头实现IF语句,如果验证失败,该语句将引发新的异常。抛出的异常将在Catch块中捕获。以下是我的PHP代码: function _modulename_getData($field, $table) { try { if (empty($field)) { throw new Exception("The field is undefined."); } // rest of code here... } catch (Exception $e) { throw $e->getMessage(); } } 但是,当我尝试运行代码时,它告诉我只能在Catch块内抛出对象。 提前致谢!



4
在Javascript中,即使从不抛出异常,使用try-catch块是否昂贵?
当没有任何异常抛出时,使用多个try-catch块是否“缓慢”?我的问题与这一问题相同,但对于JavaScript。 假设我有20个在其中具有try-catch块的函数,以及另一个函数,在这20个函数中的每个函数都调用时,它们都不抛出异常。由于有try-catch块,我的代码执行速度会变慢还是变差?

4
使用Async / Await正确尝试…捕获语法
我喜欢Async/AwaitTypescript等中提供的新功能的平坦性。但是,我不确定我是否必须await在try...catch块的外部声明要输入的变量以便以后使用,这一点我不确定。像这样: let createdUser try { createdUser = await this.User.create(userInfo) } catch (error) { console.error(error) } console.log(createdUser) // business // logic // goes // here 如果我错了,请纠正我,但是似乎最好的做法是不要在try主体中放置多行业务逻辑,所以我只剩下createdUser在块外声明,在块中分配,以及然后使用它。 在这种情况下,最佳做法是什么?

3
在Java-8中捕获多个异常
在尝试多捕获功能时,我在自己的m1()方法中发现一切正常。 但是,在m2()同一代码中无法编译。我刚刚更改了语法以减少代码行数。 public class Main { public int m1(boolean bool) { try { if (bool) { throw new Excep1(); } throw new Excep2(); //This m1() is compiling abs fine. } catch (Excep1 | Excep2 e) { return 0; } } public int m2(boolean b) { try { throw b ? …


2
抛出和捕捉整数如何工作?
使用此代码: int main() { try { throw -1; } catch (int& x) { std::cerr << "We caught an int exception with value: " << x << std::endl; } std::cout << "Continuing on our merry way." << std::endl; return 0; } 我们有: /tmp$ ./prorgam.out Continuing on our merry way We caught …

2
在CATCH块中区分异常和失败[RAKU]
我们知道,可以通过CATCH块来处理故障。 在下面的示例中,我们在“ other-sub”中创建一个“ AdHoc”失败,并在CATCH块中(在“ my-sub”中)处理异常。 sub my-sub { try { CATCH { when X::AdHoc { say 'AdHoc Exception handled here'; .resume } default {say 'Other Exception'; .resume} } my $b = other-sub(); $b.so ?? $b.say !! 'This was a Failure'.say; } } sub other-sub { fail 'Failure_X' } my-sub(); 输出如下: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.