You are given the coding task below:
{}

Here are some details of this coding task:
1. The function name is {}.
2. The function arguments are {}.
3. The function return should be {}.
4. Exception raise: {}.
5. Some extra context of this function: {}.

Please always enclose the generated code in triple backticks (```) like this:
```CODE```
