程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
错误处理 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
PHP 8.6 的 Stream 错误 API:把 E_WARNING 换成可查询的 StreamError
编程
PHP 8.6 的 Stream 错误 API:把 E_WARNING 换成可查询的 StreamError
2026-11-03 21:04:11
PHP 8.6 新增 Stream 错误 API:StreamError / StreamException、StreamErrorStore / Mode / Code 枚举,加 stream_last_errors / stream_clear_errors,由 context 的 error_mode / error_store / error_handler 控制。讲清为什么默认 opt-in、错误存储按 stream 堆积怎么清、error_handler 里为什么不能再碰 stream。
PHP
错误处理
Stream
PHP 8.6 流错误处理:错误变成值对象,但 `@` 仍然删不掉
编程
PHP 8.6 流错误处理:错误变成值对象,但 `@` 仍然删不掉
2026-10-22 21:03:21
PHP 8.6 把流错误变成按 context 配置的值对象:error_mode/error_store/stream_last_errors,code 是枚举。给出与 error_get_last 的前后对比、选项必须写在 stream wrapper 下的报错,以及关键坑——Silent 不替代 @,域名解析失败仍从网络层先出 warning。
PHP
错误处理
流
升级兼容
PHP 8.5 的 #[\NoDiscard] 和 (void):让被丢掉的返回值留下一条日志
编程
PHP 8.5 的 #[\NoDiscard] 和 (void):让被丢掉的返回值留下一条日志
2026-10-17 21:02:03
PHP 8.5 的 #[\NoDiscard] 与 (void) 在支付、加锁、队列代码里的实际用法:如何让被丢弃的返回值变成可检索的告警,error_reporting 与错误处理器怎么配,和静态分析各管什么,附 8.5 弃用的机械清理命令。
PHP
8.5
错误处理
静态分析
用 RFC 9457 Problem Details 给 FastAPI 错误响应立规矩:别再 HTTP 200 一把梭
编程
用 RFC 9457 Problem Details 给 FastAPI 错误响应立规矩:别再 HTTP 200 一把梭
2026-10-11 18:20:04
用 {code,message,data} 全返 200 的接口写法会让网关、监控、前端都失去判断依据。本文给出一套 FastAPI + Pydantic v2 落地 RFC 9457 Problem Details 的完整实现:ProblemDetail 模型、AppError 异常层、全局异常处理器、Request-ID 中间件,附可复制的 curl 调用效果与 5 个实战踩坑。
API
RFC9457
FastAPI
ProblemDetails
错误处理
mes
es
rome
ble
AST
ST
js
HTTP API
SSA
Pi
PR
Kong
tail
ng
The
监控告警
PHP 8.6 Stream 错误处理:error_mode 三种模式、filter chain 上限与 TLS 会话复用
代码
PHP 8.6 Stream 错误处理:error_mode 三种模式、filter chain 上限与 TLS 会话复用
2026-09-27 21:02:49
PHP 8.6 给 Stream API 引入统一错误模型:error_mode 可选 warnings/exceptions/silence,stream_last_errors() 返回结构化 StreamError,StreamException 带 StreamErrorCode 枚举(50+ 语义码),并为 filter 链设上限、复用 TLS 会话握手。本文说明用法与 opt-in 性质。
PHP
8.6
Stream
错误处理
TLS
握手
Go 返回错误值,JS/Python/PHP/C# 抛异常:两类错误处理架构对照
案例
Go 返回错误值,JS/Python/PHP/C# 抛异常:两类错误处理架构对照
2026-09-19 00:03:40
对比 Go 的「错误即值」与 PHP、JavaScript、Python、C# 的异常机制:显式控制流与隐式跳转的取舍,附 errors.Is/As、%w 错误链、状态封装与装饰器两种避免 if err != nil 地狱的实战模式。
语言对比
错误处理
异常机制
Go
PHP
Python
编程语言
Go 1.28 vet 新增 scannererr / sqlrowserr:Scan 与 Next 循环里的错误不能再默认忽略
编程
Go 1.28 vet 新增 scannererr / sqlrowserr:Scan 与 Next 循环里的错误不能再默认忽略
2026-09-16 21:04:31
Go 1.28 的 vet 增加 scannererr 与 sqlrowserr 两个分析器:前者抓 bufio.Scanner 的 Scan 循环没检查 Scanner.Err,后者抓 sql.Rows.Next 循环没检查 Rows.Err,把迭代错误和「结果更少」区分开。文中给出坏代码与正确写法、分析器跳过 strings/bytes Reader 的降噪逻辑,以及 issue #17747 上 22K 模块的实测数据与落地建议。
Go
vet
静态分析
错误处理
草案
`set -euo pipefail` 写了,函数里失败却继续跑:errexit 的例外与 ERR trap 的继承
编程
`set -euo pipefail` 写了,函数里失败却继续跑:errexit 的例外与 ERR trap 的继承
2026-09-15 00:03:29
脚本开头写了 set -euo pipefail,函数里命令失败却继续执行、trap ERR 不触发。从 man bash 的 errexit 例外清单讲起:why 函数体在 if/|| 上下文里 -e 失效、ERR trap 需要 set -E 才继承、$(...) 里 -e 默认关闭要用 inherit_errexit,附打包函数取退出码、trap 配方与 ShellCheck/Bats 检查链路。
脚本编程
Shell
Bash
错误处理
ShellCheck
pip
现代 Go 错误处理:errors.Join 聚合、Go 1.26 errors.AsType 泛型断言与工程取舍
编程
现代 Go 错误处理:errors.Join 聚合、Go 1.26 errors.AsType 泛型断言与工程取舍
2026-09-07 21:32:05
从 error 接口到 %w 包装、Is/As/AsType,梳理 Go 1.20 errors.Join/WithCancelCause 与 1.26 泛型 errors.AsType 的用法、panic/recover 边界、库内不打日志等一套可落地的错误处理写法与取舍。
Go
错误处理
errors.AsType
errors.Join
golang
golang错误
Kotlin 函数签名应该诚实:领域错误与函数式错误处理的最佳实践
编程
Kotlin 函数签名应该诚实:领域错误与函数式错误处理的最佳实践
2026-09-07 01:12:55
JetBrains 博客探讨 Kotlin 函数签名诚实性与函数式错误处理:传统异常处理存在签名不诚实、类型不安全、控制流不透明、性能开销、难以组合等问题。函数式方案包括 Result 类型、密封类、Either 类型、Raise 上下文。领域错误设计原则:错误是领域概念、携带有用信息、粒度适中、层次结构、与 HTTP 状态码分离。
Kotlin
函数式编程
错误处理
密封类
Either
Arrow
领域驱动设计
类型安全
Go 错误处理完全指南:从 error 接口到 errors 包、panic/recover 与最佳实践
编程
Go 错误处理完全指南:从 error 接口到 errors 包、panic/recover 与最佳实践
2026-09-06 17:14:02
JetBrains系统讲解Go错误处理。核心理念:错误是值(errors are values),显式if err != nil检查,不像异常那样中断流程。error接口只需实现Error() string。errors包:New创建简单错误、Is判断错误链匹配、As提取特定类型、Join组合多错误(Go1.20+)、Unwrap解包。fmt.Errorf的%w动词包装错误保留错误链,%v只嵌入字符串。特定类型错误:I/O错误(os.ErrNotExist/ErrPermission/EOF)、网络错误(net.Error超时/临时判断)、数据验证错误(自定义ValidationError)、并发错误(sync.WaitGroup+errors.Join)。panic/recover:panic只用于不可恢复错误(初始化失败、内部状态损坏、开发者错误),recover只能在defer中调用。常见陷阱:忽略错误、错误消息不清晰、重复包装、不检查特定错误类型、循环中defer。最佳实践:始终检查错误、添加上下文、使用errors.Is/As、保持消息清晰、合理使用panic、避免过度包装、处理并发错误、记录详细日志、考虑可恢复性、编写错误处理测试。
Go
Golang
错误处理
error
errors包
panic
recover
JetBrains
最佳实践
指向错误:uutils coreutils 中的编译器风格诊断信息
编程
指向错误:uutils coreutils 中的编译器风格诊断信息
2026-09-06 03:11:20
uutils团队在coreutils中引入编译器风格的诊断信息,重新思考Unix工具50年来不变的错误报告方式。传统Unix工具只输出一行错误文本(只说明出了什么问题,不说明在哪里),而编译器风格诊断提供错误类型、精确位置、源代码上下文、错误指向和修复建议。文章介绍了实现架构(诊断类型、位置信息、源代码上下文、错误指向)、技术实现细节(使用annotate-snippets库、位置追踪、兼容性考虑),以及对命令行工具设计的启示。
uutils
coreutils
编译器
诊断信息
错误处理
命令行工具
Rust
Unix
Zig 深度拆解:当一门系统语言决定「向 AI 代码说不」——从 comptime 编译期元编程到显式分配器模型,一个被 TigerBeetle 和 Bun 选中的语言如何用「零隐藏控制流 + 零隐藏内存分配」重新定义系统编程的终极形态
编程
Zig 深度拆解:当一门系统语言决定「向 AI 代码说不」——从 comptime 编译期元编程到显式分配器模型,一个被 TigerBeetle 和 Bun 选中的语言如何用「零隐藏控制流 + 零隐藏内存分配」重新定义系统编程的终极形态
2026-08-06 07:45:33
深度拆解Zig编程语言:comptime编译期元编程革命、显式分配器模型掌控内存、零隐藏设计哲学、错误联合类型机制、跨编译工具链,以及为什么TigerBeetle和Bun选择Zig,Zig为何向AI代码说不
Zig
comptime
系统编程
内存分配
TigerBeetle
Bun
Rust
C++
编译期元编程
显式分配器
错误处理
跨编译
开源
Effect 4.0 深度拆解:当 TypeScript 决定「干掉全部 try-catch 地狱」——一个生产级函数式框架如何用 Effect 类型和结构化并发重新定义「可靠代码」的终极形态
编程
Effect 4.0 深度拆解:当 TypeScript 决定「干掉全部 try-catch 地狱」——一个生产级函数式框架如何用 Effect 类型和结构化并发重新定义「可靠代码」的终极形态
2026-08-04 20:45:39
深度拆解Effect 4.0 Beta:TypeScript函数式编程框架,Effect类型签名实现编译期可靠性保证,Layer系统类型安全依赖注入,Fiber结构化并发与资源管理,Schema模块从类型到运行时验证的桥梁,AI时代LLM友好代码生成,从70KB到20KB的包体积革命
Effect
TypeScript
函数式编程
依赖注入
结构化并发
Schema
生产级代码
AI编程
类型安全
错误处理
Effect 4.0 深度拆解:当函数式编程决定「干掉 JavaScript 的全部意大利面条代码」——一个 16K Star 的 TypeScript 框架如何用 Effect Type 重新定义生产级应用的可靠性边界
编程
Effect 4.0 深度拆解:当函数式编程决定「干掉 JavaScript 的全部意大利面条代码」——一个 16K Star 的 TypeScript 框架如何用 Effect Type 重新定义生产级应用的可靠性边界
2026-08-04 12:14:09
深度拆解Effect 4.0 Beta:TypeScript函数式框架的三参数Effect Type革命、Fiber结构化并发、类型驱动依赖注入、71% Bundle Size缩减、内置OpenTelemetry,附完整生产级代码示例
Effect-TS
TypeScript
函数式编程
错误处理
依赖注入
结构化并发
TypeScript框架
前端框架
后端框架
开源
Effect 深度拆解:一个「类型驱动」的 TypeScript 运行时如何终结 try-catch 地狱——从 ZIO 灵感到 AI 时代生产级框架的全栈架构哲学
编程
Effect 深度拆解:一个「类型驱动」的 TypeScript 运行时如何终结 try-catch 地狱——从 ZIO 灵感到 AI 时代生产级框架的全栈架构哲学
2026-08-03 12:41:55
深度拆解Effect-TS四大核心架构:类型驱动的错误追踪、Service Layer依赖注入、Fiber结构化并发、Schedule可组合重试策略,附完整生产级代码示例与迁移指南
Effect
TypeScript
函数式编程
依赖注入
错误处理
并发模型
Service Layer
Fiber
AI编程
ZIO
Schema
Structured Concurrency
类型安全
开源
Zig 深度实战:十年不发 1.0、逃离 GitHub、拒绝 AI 代码,这门「反潮流」语言凭什么征服系统程序员
编程
Zig 深度实战:十年不发 1.0、逃离 GitHub、拒绝 AI 代码,这门「反潮流」语言凭什么征服系统程序员
2026-07-27 07:13:46
Zig 深度实战:从 C 程序员的三座大山出发,源码级拆解 comptime 编译期元编程、显式 allocator 内存控制、error union 错误处理与 zig cc 交叉编译,并解读十年不发1.0、逃离GitHub、限制AI代码三大反潮流决策背后的工程理性。
Zig
comptime
系统编程
Rust
C语言
交叉编译
内存管理
错误处理
Zig 0.16 深度解剖:comptime 元编程、无隐藏控制流与手动内存管理的工程真相
编程
Zig 0.16 深度解剖:comptime 元编程、无隐藏控制流与手动内存管理的工程真相
2026-07-25 07:44:29
从第一性原理深度拆解 Zig:comptime 一统泛型与反射、allocator 显式化内存模型、error union 与 errdefer 错误处理、无隐藏控制流哲学、@cImport 与 zig cc 交叉编译神器,以及 Zig vs Rust 的诚实选型冷思考。
Zig
comptime
系统编程
内存管理
allocator
错误处理
C互操作
交叉编译
Rust
性能优化
Go 1.26 万字深度解析:从 new 语法糖到 Green Tea GC,一次性吃透所有重磅新特性
编程
Go 1.26 万字深度解析:从 new 语法糖到 Green Tea GC,一次性吃透所有重磅新特性
2026-07-03 15:16:56
2026年2月Go 1.26正式发布,本文深度解析new(expr)语法糖、errors.AsType[T]、Green Tea GC等重磅特性,含大量代码示例与生产升级指南。
Go语言
Go1.26
Golang
垃圾回收
性能优化
编译器
并发编程
错误处理
cgo
Go 1.26 深度实战:当语法糖、GC 与 SIMD 三重暴击——从 new(expr) 到 Green Tea GC、泛型增强与生产级迁移的完全指南(2026)
编程
Go 1.26 深度实战:当语法糖、GC 与 SIMD 三重暴击——从 new(expr) 到 Green Tea GC、泛型增强与生产级迁移的完全指南(2026)
2026-06-17 22:52:26
Go 1.26 是 Go 语言有史以来更新最庞大、影响最深远的一个版本。本文深入拆解 Go 1.26 的十六大核心特性,从 new(expr) 语法糖、Green Tea GC、泛型递归类型约束、SIMD 向量化计算到错误处理现代化、安全特性强化,带你从原理到实践,完成生产级迁移。
Go语言
Go 1.26
Green Tea GC
SIMD
泛型
new(expr)
垃圾回收
性能优化
错误处理
HPKE加密
Go 字符串与整数转换:cast 包 vs 标准库 strconv 全面对比
编程
Go 字符串与整数转换:cast 包 vs 标准库 strconv 全面对比
2025-08-26 06:33:24
本文对比了Go语言中字符串与整数的转换方法,重点分析了标准库的strconv包与cast包的优缺点。cast包提供了更简洁的错误处理和支持多种输入类型,适合动态数据处理,而strconv在性能和类型安全上表现更佳。根据不同场景,推荐在性能关键路径使用strconv,而在快速开发和处理动态数据时使用cast。
Go语言
编程
开发工具
性能优化
错误处理
Go 字符串与整数转换指南:Atoi 与 Itoa 的正确使用方式
编程
Go 字符串与整数转换指南:Atoi 与 Itoa 的正确使用方式
2025-08-26 06:32:41
本文探讨了Go语言中字符串与整数之间的转换,重点介绍了`Atoi`和`Itoa`函数的使用方法、常见错误及最佳实践。通过示例代码,读者可以了解如何处理输入、验证数值范围以及提供友好的错误信息,从而编写更健壮的代码。
编程
Go语言
开发技巧
错误处理
字符串处理
异步时代的错误处理:超越 try-catch 的 Promise.try
编程
异步时代的错误处理:超越 try-catch 的 Promise.try
2025-08-15 15:54:24
本文探讨了传统的try-catch在异步JavaScript开发中的局限性,并介绍了Promise.try作为一种统一处理同步和异步错误的新方案。通过示例,展示了Promise.try如何简化错误处理逻辑,提高代码可读性,并确保执行顺序一致。Promise.try使得开发者能够更有效地捕获错误,适用于混合同步与异步逻辑的场景。
JavaScript
错误处理
异步编程
五个易犯的 Go 编码错误及其解决方案
编程
五个易犯的 Go 编码错误及其解决方案
2025-07-18 07:41:24
本文列举了五个常见的Go编码错误,包括使用`time.Parse()`导致时区错误、defer参数立即求值、循环中使用defer导致死锁、协程中误用`http.Request.Context()`以及未捕获panic导致程序崩溃。针对每个错误,提供了详细的分析和最佳实践解决方案,帮助开发者避免这些常见陷阱,提高编码质量。
编程
Go语言
软件开发
错误处理
最佳实践
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
下一页
共 2 页
到第
页
确定