function div($dividend, $divisor){
try{
echo "$dividend 除以 $divisor ->/n";
if($divisor == 0){
throw new Exception('除数不能为零', 101);
}
$result = $dividend / $divisor;
echo "结果为 $result/n/n";
}
catch(Exception $e){ # 类型指示 Exception
$msg = $e->getMessage();
$code = $e->getCode();
$file = $e->getFile();
$line = $e->getLine();
$trace = $e->getTrace(); // 注释
$traceAsString = $e->getTraceAsString();
echo "错误: $code, $msg/n";
echo "错误所在文件: $file/n";
echo "错误所在行号: $line/n";
echo "回退路径数组: $trace/n";
echo "回退路径字符串: $traceAsString/n/n";
}
}
div(100, 10); div(100, 0); div(100,30); div(100, -10); ?> # $e为所捕获到的异常对象 # Exception 类的构造函数接受两个可选参数,一个消息,一个代码 # throw 是一个语言结构而非一个函数,但是必须给它传递一个值 # 一条throw语句会使程序流程从try代码块中退出 # php 内置了一个异常类 Exception,所有可能被抛出的异常 # 都必须是该类的对象或者该类的子类的对象