PHP 处理异常 和 Python 处理异常
一、PHP捕获异常
1.PHP 错误类型
级别常量 | 错误报告描述 |
E_ERROR | 致命的运行时错误(它会阻止脚本的执行) |
E_WARNING | 运行时警告(非致命的错误) |
E_PARSE | 从语法中解析错误 |
E_NOTICE | 运行时注意消息(可能是或者可能不是一个问题) |
E_CORE_ERROR | 类似E_ERROR,但不包括PHP核心造成的错误 |
E_CORE_WARNING | 类似E_WARNING,但不包括PHP核心错误警告 |
E_COMPILE_ERROR | 致命的编译时错误 |
E_COMPILE_WARNING | 致命的编译时警告 |
E_USER_ERROR | 用户导致的错误消息 |
E_USER_WARNING | 用户导致的警告 |
E_USER_NOTICE | 用户导致的注意消息 |
E_ALL | 所有的错误、警告和注意 |
E_STRICT | 关于PHP版本移植的兼容性和互操作性建议 |
属于异常范围:在指定的错误(异常)情况发生时改变脚本的正常流程
2.PHP 例子
// 创建 关联数组
$_associative_array_one = array();
// 删除 关联数组
unset($_associative_array_one);
// 因为 "变量引用不存在" 不会改变脚本正常运行 属于 警告E_NOTICE 不属于 异常范围
// 所以 使用 if 强行触发异常
function _is_set($a){
if(!isset($a)){
throw new Exception('关联数组不存在');
}
}
// try 判断语句 是否 能 触发异常
try {
_is_set($_associative_array_one);
}
// catch 捕捉异常 退出
catch (Exception $e){
echo 'Message: '.$e->getMessage();
return;
}
// 如没异常 继续执行代码
echo "无异常";
二、Python 捕获异常
大概功能类似,直接给例子
1.Python例子
# python 捕获异常
try:
判断是否异常语句
except Exception as e:
若捕捉异常,执行这
else:
若无异常,执行这
finally:
不管是否异常,都执行