<commit_before>title: Erlang error handling
date: 2014-11-25 14:47:36
description: PingHackers |  Erlang error handling
tags:
- erlang
---
**作者**：吴文杰

**原文链接**：[http://pinghackers.com/2014/11/25/erlang-error-handling/](http://pinghackers.com/2014/11/25/erlang-error-handling/)

**本文同时也发布在**：[http://www.cnblogs.com/lhfcws/p/4120965.html](http://www.cnblogs.com/lhfcws/p/4120965.html)

**转载请注明出处，保留原文链接和作者信息**

* * *


## Contents
0. Preface
1. try-catch
2. Process link
3. Erlang-way error handling
4. OTP supervisor tree
5. Restart process

----

### 0. Preface
说到容错处理，大概大家都会想到 `try-catch` 类结构，对于绝大多数传统语言来说，确实是这样。但是对于Erlang来说，容错处理是其一个核心特性，真正涉及到的是整个系统的设计，与 `try-catch` 无关；其核心是Erlang进程本身的特性以及进程链接。

### 1. try-catch
> 本届纯粹为科普

不管怎么说，还是先介绍以下Erlang的 try-catch 结构（但请留意，try-catch 只作为引入，此小节以后的章节才是本文核心）。
<commit_msg>Update erlang-error-handling.md<commit_after>title: Erlang error handling
date: 2014-11-25 14:47:36
description: PingHackers |  Erlang error handling
tags:
- erlang
---
**作者**：吴文杰

**原文链接**：[http://pinghackers.com/2014/11/25/erlang-error-handling/](http://pinghackers.com/2014/11/25/erlang-error-handling/)

**本文同时也发布在**：[http://www.cnblogs.com/lhfcws/p/4120965.html](http://www.cnblogs.com/lhfcws/p/4120965.html)

**转载请注明出处，保留原文链接和作者信息**

* * *


## Contents
0. Preface
1. try-catch
2. Process link
3. Erlang-way error handling
4. OTP supervisor tree
5. Restart process

----

### 0. Preface
说到容错处理，大概大家都会想到 `try-catch` 类结构，对于绝大多数传统语言来说，确实是这样。但是对于Erlang来说，容错处理是其一个核心特性，真正涉及到的是整个系统的设计，与 `try-catch` 无关；其核心是Erlang进程本身的特性以及进程链接。

### 1. try-catch
> 本节纯粹为科普

不管怎么说，还是先介绍以下Erlang的 try-catch 结构（但请留意，try-catch 只作为引入，此小节以后的章节才是本文核心）。

{'fraction_non_alphanumeric': 0.16544566544566544, 'fraction_numerical': 0.06349206349206349, 'mean_word_length': 5.003663003663004, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4877314', 'n_tokens_mistral': 988, 'n_tokens_neox': 986, 'n_words': 103}