<?php
function test($val){
if ($val>100){
throw new Exception("提示信息:您输入的值过大");
}
}
test(111);
?>
3.当一个异常抛出后,catch 语句块可以进行处理也可以不处理
以下是我用户注册功能的部分代码
try{
//check forms filled in
if(!filled_out($_POST)){
throw new Exception('你还没有填写表单,请回去填写');
}
//check email address not valid
if(!check_email($email)){
throw new Exception('邮件的格式不正确');
}
//检查密度的长度是否大于 6
if(strlen($passwd<6)){
throw new Exception('密度的长度应该大于 6');
}
//检查两次密码是否相等
if($passwd!=$passwd1){
throw new Exception('两次密码不一样,请重新输入');
}
//检查用户名的长度是否正确
if(strlen($username)>16){
throw new Exception('用户名的长度不符,请重新输入');
}
} catch(Exception $e){
echo $e->getMessage(); //输出异常信息。
}
php 对异常的处理与 java 一样,用到的是 try{}catch(){}
定义顶级异常处理器用到的函数是
set_exception_handler("My_exception");
这里的
My_expection 是开发者自定义的异常处理函数,既顶级异常处理器,只有当程序中
没有函数来处理异常才有顶级异常处理器来处理异常,如果没有定义顶级异常处理器,则
由系统默认的异常处理器来处理异常
举例说明:
代码如下