在PHP中做一个try,throw,catch-kill脚本


in PHP does a try, throw, catch kill the script?

Try、throw、catch异常是否会杀死php脚本。例如:

try{
    if(0 != 0){
      throw new Exception('of course it equals 0!');
} catch (Exception $e){
   echo 'Exception was Caught: ', $e->getMessage();
}

如果抛出异常并被捕获,那么代码从echo到哪里?它能逃脱并继续下去吗?还是剧本在那一点上被杀了?我是出于安全考虑才提出要求的。如果我说创建一个登录脚本,然后我使用try-catch来验证用户名等……而用户名是错误的,并且抛出了异常,那么代码在那个捕获点完成了吗?

否。在每种语言中,当您捕捉到异常时,脚本都会继续到下一行。在您的示例中,执行将继续执行echo之后的下一个语句,在您的情况下,它将是关闭catch块的大括号之后的第一个表达式。