为啥使用Try,Catch捕获异常,程序依然Crash
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥使用Try,Catch捕获异常,程序依然Crash相关的知识,希望对你有一定的参考价值。
1.在catch的时候需要指定捕获的异常类型。如果指定的类型不正确,异常会继续向外抛出。可以使用catch(...) 的方式来捕获全部异常。
2.发生异常的代码需要包含在try语句块种,在try语句块外部的异常是不会被捕获的。 参考技术A VisualStudio开发环境就是利用一个进程编辑源文件,并利用另一个进程完成编译工作的应用程序。在WindowsNT/2000/XP操作系统下,我们可以通过任务管理器在任意时间查看所有的应用程序和进程。尽管只打开了几个应用程序,但是通常情况下
try使用多个catch捕获不同的异常
目的:
使用多个catch捕获不同的异常
eg:
<?php //创建三个Exception class AException extends Exception{ function printMsg(){ echo "This is AException."; } } class BException extends Exception{ function printMsg(){ echo "This is BException."; } }class CException extends Exception{ function printMsg(){ echo "This is CException."; } } //一个try,多个catch捕获不同的异常 try{ $flag = 1; switch ($flag) { case 1: throw new AException(‘AException:‘); break; case 2: throw new BException(‘BException:‘); break; case 3: throw new CException(‘CException:‘); break; default: break; } } catch(AException $e){ echo $e->getmessage(); $e->printMsg(); } catch(BException $e){ echo $e->getmessage(); $e->printMsg(); } catch(CException $e){ echo $e->getmessage(); $e->printMsg(); } catch(Exception $e){ //这个catch主要是捕获漏网之鱼 echo $e->getmessage(); }
输出:
AException:This is AException.
以上是关于为啥使用Try,Catch捕获异常,程序依然Crash的主要内容,如果未能解决你的问题,请参考以下文章
用powershell的try catch, 为啥try里面出现异常,catch 捕获不到呢?