From b643b3a8eac9de3a550c8364997ce7d6afdd30eb Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 26 Jul 2023 13:47:35 +0900 Subject: update --- slide.pdf | Bin 243184 -> 243063 bytes slide.saty | 42 +++++++++++++++++++----------------------- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/slide.pdf b/slide.pdf index 1281a37..e26c8d1 100644 Binary files a/slide.pdf and b/slide.pdf differ diff --git a/slide.saty b/slide.saty index 5d5c123..095ea0d 100644 --- a/slide.saty +++ b/slide.saty @@ -142,56 +142,56 @@ bool do_something() { } > - +frame{C: 引数で処理結果を受け取る}< - +code-block-c(`#include - -bool do_something(something* result) { + +frame{C: 処理結果または失敗を返す}< + +code-block-c(`something* do_something() { // ... if (success) { - *result = ...; - return true; + return result; } else { - return false; + return NULL; } } `); +p{ - PHP では \inline-code(`preg_match()`); など + PHP では \inline-code(`fopen()`); など } > - +frame{C: 引数で処理結果を受け取る}< + +frame{C: 処理結果または失敗を返す}< +listing{ * \good; 処理結果があるときに使える - * \good; エラーに情報を載せられる + * \bad; エラーに情報を載せられない + ** 注: 動的型付き言語の場合はその限りでない * \bad; エラーハンドリングを省略できる ** \good; 省略したとき、処理結果を使おうとすると止まる ** \bad; 省略したとき、後続の処理が進みうる } > - +frame{C: 処理結果または失敗を返す}< - +code-block-c(`something* do_something() { + +frame{C: 引数で処理結果を受け取る}< + +code-block-c(`#include + +bool do_something(something* result) { // ... if (success) { - return result; + *result = ...; + return true; } else { - return NULL; + return false; } } `); +p{ - PHP では \inline-code(`fopen()`); など + PHP では \inline-code(`preg_match()`); など } > - +frame{C: 処理結果または失敗を返す}< + +frame{C: 引数で処理結果を受け取る}< +listing{ * \good; 処理結果があるときに使える - * \bad; エラーに情報を載せられない - ** 注: 動的型付き言語の場合はその限りでない + * \good; エラーに情報を載せられる * \bad; エラーハンドリングを省略できる ** \good; 省略したとき、処理結果を使おうとすると止まる ** \bad; 省略したとき、後続の処理が進みうる @@ -209,10 +209,6 @@ void do_something() { error = 42; } } - -some_error get_error() { - return error; -} `); +p{ @@ -353,7 +349,7 @@ if (isset($err)) { `); +p{ - 回復不能なエラー。(基本的には) 捕まえられない + 回復不能なエラー。通常のエラーと同じ方法では捕まえられない } > -- cgit v1.2.3-70-g09d2