程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
错误处理 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
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
现代 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语言
软件开发
错误处理
最佳实践
在使用 MySQL 5.7 版本时,如果遇到以下错误提示: 深度解析 MySQL “Field 'remarks' doesn't have a default value” 错误及应对方案
编程
在使用 MySQL 5.7 版本时,如果遇到以下错误提示: 深度解析 MySQL “Field 'remarks' doesn't have a default value” 错误及应对方案
2025-01-12 20:41:10
该日志记录了一个SQL错误,提示字段'remarks'没有默认值,导致出现一般错误1364。此错误与SQL模式设置有关,特别是'ONLY_FULL_GROUP_BY'、'ERROR_FOR_DIVISION_BY_ZERO'和'NO_ENGINE_SUBSTITUTION'。
数据库
SQL
错误处理
404错误|页面不存在|HTML|样式|错误页面
代码
404错误|页面不存在|HTML|样式|错误页面
2024-12-04 12:17:52
该文本是一个404错误页面的HTML代码,包含了基本的页面结构和样式。页面提示用户所访问的页面不存在,并使用了CSS样式来美化错误提示。该页面使用了响应式设计,适应不同设备的显示。
网页设计
错误处理
前端开发
MySQL 1364 错误解决办法
编程
MySQL 1364 错误解决办法
2024-11-19 05:07:59
MySQL1364错误提示表示'details'字段没有默认值,导致插入数据时出现问题。此错误由严格模式引起,需检查my.ini文件中的sql-mode设置。解决方法包括为字段设置默认值或修改sql模式,通过编辑my.ini或执行SQL命令来实现。确保在数据库设计阶段考虑字段的默认值,以避免此类错误。
数据库
错误处理
MySQL
告别 `unwrap`!掌握 Rust 错误处理,编写更安全、更简洁的代码
编程
告别 `unwrap`!掌握 Rust 错误处理,编写更安全、更简洁的代码
2024-11-19 10:05:04
本文讨论了Rust中`unwrap`方法的使用及其潜在风险,强调在生产代码中应避免使用`unwrap`,并介绍了更安全的错误处理方法,如`match`表达式、`iflet`、`unwrap_or`和`?`运算符。这些替代方案能够优雅地处理错误,避免程序崩溃,从而构建更健壮的代码库。
Rust
编程
错误处理
软件开发
JS新特性:`?=`操作符助你告别bug!
编程
JS新特性:`?=`操作符助你告别bug!
2024-11-19 09:33:53
安全赋值操作符(`?=`)是JavaScript中的新特性,允许开发者在赋值时直接处理错误,简化了代码结构,减少了对`try-catch`块的依赖。它提高了代码的可读性和安全性,并与异步函数和Promise无缝协作。该特性有助于在复杂的错误场景中进行递归错误处理,尽管目前仍在开发阶段,但其潜力已显而易见。
JavaScript
编程
错误处理
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
下一页
共 2 页
到第
页
确定