如果我有c1.php
<?php
class C1 {
function f1($value) {
if($value == 'ok') {
echo "OK!";
} else {
throw new Exception("WRONG!");
}
}
}
?>
和index.php
<?php
require_once('c1.php');
$c = new C1();
$c->f1('ok');
$c->f1('asd');
?>
有谁知道,如何构建一个好的可读错误消息,如“错误:你在C:\ xampp \ htdocs \ projekt \ index.php:第5行中有错误的值”而不是跟踪
OK!
Fatal error: Uncaught exception 'Exception' with message 'WRONG!' in
C:\xampp\htdocs\projekt\c1.php:7 Stack trace: #0
C:\xampp\htdocs\projekt\index.php(5): C1->f1('asd') #1 {main} thrown in
C:\xampp\htdocs\projekt\c1.php on line 7
阅读有点困难。
答案 0 :(得分:3)
抓住异常。这是例外的点......它们是可捕获的,你可以对信息做一些事情(例如..只输出消息)。
答案 1 :(得分:2)
您可以这样做:
try {
$c = new C1();
$c->f1('ok');
$c->f1('asd');
} catch(Exception $e) {
echo 'Error: you have wrong value in ', $e->getFile(), ' on line ', $e->getLine();
// ... code
}
答案 2 :(得分:0)
我抓住了它
try {
..
} catch(Exception $e) {
//echo $e->getTraceAsString();
$t = $e->getTrace();
$t = $t[0];
echo 'Error: file - ',$t['file'],' - line: ',$t['line'],
' - function: ',$t['function'],'; ',$e->getMessage();
}
谢谢您的提示。
答案 3 :(得分:-1)
简单,不要使用例外。当你正在尝试捕捉或特殊情况时,应该使用它们。这并不例外 - 这意味着只有if-else语句就不会有任何错误。
所以只需回显你选择的错误信息。