## +23
## The Absurdity of Error Handling: Finding a Purpose for Errors in Safety-Critical SYCL
## ERIK TOMUSK
## codeplay $ ^{®} $
Enabling AI & HPC To Be Open, Safe & Accessible To All
or personal capacity, unless explicitly stated
## Outline
• Definition of Safety
• Definition of Error Handling
• Case Study
• Why is this Important?
• Is it Really so bad?
• What does this mean for of Error Handling
## Definition of Error Handling
Error: An unintended occurrence
• Various means to communicate the presence of an error
• Error codes; C++ exceptions; std::unexpected
Error Handling:
## +24
## Modern C++ Error Handling
## PHIL NASH
## 20 24 September 15 - 20
## Modern C++ Error Handling
Phil Nash

## ## Option(al) Is Not a Failure
## 2018
@phil_nash
## the Dawn of a New Error
## 2019
## Part 1
## a Series (total) of disappointments
int parse_int(std::string_view number)
## -
int parse_int(std::string_view return out;
}
if(first_digit)
throw std::runtime_error(
std::format("{}" is not a number, number));
else
throw std::runtime_error(
std::format("{}" has non-numeric
Go业务开发中Error&Context
毛剑
bilibili
iammao@vip.qq.com
探探 Gopher China 2019
Agenda
Error
o Background
o Handle Error
o Best Practice
• Context
o Background
o Context With API
o Best Practice
• Conclusion alt=‘OCR图片’/>
Error - Background
错误检查和打印
分层开发导致的处处打印日志
难以获取详细的堆栈关联
。根因丢失
业务错误处理
API中逻辑标识处理
if err != nil {
return err
}
API中错误消息展示
API中业务的Hint数据
Errors are values By Rob Pike
’ alt=‘OCR图片’/>
Error - Handle Handle Error
追加上文
WithStack/Warp 来保存堆栈
WithMessage 来自定义消息
// WithStack annotates err with a stack trace at the point WithStack was called.
// If err is nil, WithStack returns nil.
func WithStack(err
*10^{36}=2.56*10^{38} $$
☑ The relative error of $ 2^{10} \approx 1000 $ is 2.34%.
☑ The relative error of $ 2^{10} \approx 1000 $ is 2.34%.
☑ The relative error only increases on the ten steps: |2^{60}|13.26%|2^{120}|24.77%|2^{180}|34.75%|
## Relative error of the estimation
☑ The relative error of $ 2^{10} \approx 1000 $ is 2.34%.
☑ The relative error only increases on the ten steps:
|2^{10}|2