微擎错误处理 is_error
微擎系统只提供了简单的错误结构概念,允许用户进行业务级的错误处理,并不支持系统级的抛出、捕获异常处理。
微擎系统很多系统函数也是这样返回错误信息的,在使用时,尽量使用 is_error 函数来判断
微擎系统中使用 error($errno, $message = '') 来定义一个错误结构,使用 is_error($data) 函数来判断是否发生错误。
例如:
$file_delete_status = file_remote_delete('test.jpg');
if (is_error($file_delete_status)) {
message('删除成功');
} else {
message('删除失败,错误码如下:' . $file_delete_status['errno'] . ',错误如下:' . $file_delete_status['message']);
}
function file_remote_delete($file) {
global $_W;
if(empty($file)) {
return error(1, '文件不存在');
}
$ftp = new Ftp();
if ($ftp->delete_file($file)) {
return true;
} else {
return error(1, '删除附件失败,请检查配置并重新删除');
}
}
error() 和 is_error() 方法来源于如下文件
/framework/function/global.func.php
源码如下
function error($errno, $message = '') {
return array(
'errno' => $errno,
'message' => $message,
);
}
function is_error($data) {
if (empty($data) || !is_array($data) || !array_key_exists('errno', $data) || (array_key_exists('errno', $data) && 0 == $data['errno'])) {
return false;
} else {
return true;
}
}