错误处理
已收录文章:27篇
-
文章 · php教程 | 1个月前 | WEB开发 · 错误处理 · PHP · PHP 8.5 · 异常排查 · set_error_handler PHP 8.5 get_error_handler restore_error_handler 错误处理器PHP 8.5 新增 get_error_handler(),可以读取当前注册的错误处理器,适合排查框架中间件、临时兜底和恢复顺序问题。本文用一条被吞掉的警告为例,说明它与 set_error_handler()、restore_error_handler() 的配合方式及边界。292 收藏
-
文章 · php教程 | 1个月前 | 错误处理 · 调试 · php教程 · PHP 8.5 · 错误处理 set_error_handler PHP 8.5 get_error_handler restore_error_handlerPHP 8.5 新增 get_error_handler(),可以直接读取当前用户错误处理器。文章用请求级日志采集场景拆解返回值、临时替换、restore_error_handler() 恢复和 PHP 8.4 兼容边界。284 收藏
-
并发处理一批任务时只返回第一个错误,往往会掩盖其他失败项。本文用 Go errors.Join 组合多个错误,比较首错、聚合错误和带任务标识的结果汇总,给出可验证的选择边界。278 收藏
-
Golang · Go问答 | 1个月前 | 并发 · golang · 错误处理 · Context · Go问答 · Go 错误处理 Go问答 context.WithCancelCause context.Cause context.ErrGo 并发任务被取消时,ctx.Err() 只能告诉你是取消还是超时,context.Cause(ctx) 才能保留业务失败原因。本文用一个可运行的任务链说明 Cause、Err、errors.Is 和错误包装各自负责什么。263 收藏
-
Golang · Go问答 | 2个月前 | golang · 错误处理 · 泛型 · Go问答 · Go 1.26 · errors.As Go问答 Go 1.26 errors.AsType 泛型错误处理Go 1.26 为 errors 包增加了泛型函数 AsType,让调用方可以直接拿到指定错误类型,减少 errors.As 的目标变量和类型断言。本文从订单校验错误的实际场景出发,对比新旧写法、兼容边界和测试验收方式。255 收藏
-
Go 的 io/fs.WalkDir 适合做跨目录扫描,但权限错误、符号链接和大目录中断都不能靠默认行为猜测。本文用一个可运行的扫描器说明 fs.ValidPath、fs.SkipDir、context.Context 与错误记录如何配合。236 收藏
-
通过文件读取和服务层包装错误的例子,拆解 Go errors.As 的目标类型匹配、%w 包装链、指针与接口边界,并给出可运行的检查方式。224 收藏
-
解释 Go 接口值为什么看起来有指针却不等于 nil,并用动态类型、返回错误和类型断言示例定位这类问题。224 收藏
-
文章 · php教程 | 1个月前 | JSON · 错误处理 · PHP · PHP升级 json_decode PHP 8.3 json_validate JSON校验 JSON_THROW_ON_ERRORPHP 8.3 新增的 json_validate() 适合只判断 JSON 是否有效、并不需要马上读取内容的场景。本文用 webhook 入站校验拆开内存边界、json_last_error_msg、深度参数、UTF-8 与旧版本兼容实现。221 收藏
-
Go 的一次性初始化函数适合把昂贵加载包装成只执行一次的调用,但也会把第一次返回的错误一起缓存。本文用配置加载示例说明并发安全、失败重试和可测试边界。160 收藏
-
Go 标准库的一次性双返回值初始化模式,适合把值和错误一起缓存,并让并发调用者共享同一份结果。本文从配置加载与文件读取场景出发,说明它的执行次数、错误传播、panic 行为和不适用边界。156 收藏
-
Go 里 errors.Is 返回 false,很多时候不是目标错误不对,而是错误链在中间被格式化字符串截断了。本文从一个可复现的订单查询示例出发,比较 %v、%w 和自定义错误的行为,再给出 errors.Is、errors.As 的检查边界与测试写法。148 收藏