● Chapter 15 — exceptions is built and CI-green (78 exercises). #16

Merged
navicore merged 1 commit from chapter15 into main 2026-06-27 18:09:11 +00:00
Owner

Five exercises, each plgc-verified (every solution passes its test/0, every starter parses):

  1. 01-catch-recover — catch/3 + throw/1 as a pair; price_or catches no_price(_) and supplies a default.
  2. 02-catch-error — the ISO error(Formal, Context) shape; safe_div catches the engine's
    evaluation_error(zero_divisor). Explicit tie-back to chs 12/14 where errors were avoided.
  3. 03-selective — the catcher is a unification; guarded recovers type_error(,) but lets zero_divisor propagate
    to an outer catch. Warns against the over-greedy catch(,,...).
  4. 04-non-local-exit — throw as control flow; product short-circuits to 0 the moment it meets a 0, jumping past
    the pending multiplications.
  5. 05-validate (capstone) — custom typed balls (not_a_number/negative/too_large) as a reporting channel; check
    catches open and reports the ball. Closes the arc: narrow catchers in 2–3, wide-open here, and why each is
    right.
Five exercises, each plgc-verified (every solution passes its test/0, every starter parses): 1. 01-catch-recover — catch/3 + throw/1 as a pair; price_or catches no_price(_) and supplies a default. 2. 02-catch-error — the ISO error(Formal, Context) shape; safe_div catches the engine's evaluation_error(zero_divisor). Explicit tie-back to chs 12/14 where errors were avoided. 3. 03-selective — the catcher is a unification; guarded recovers type_error(_,_) but lets zero_divisor propagate to an outer catch. Warns against the over-greedy catch(_,_,...). 4. 04-non-local-exit — throw as control flow; product short-circuits to 0 the moment it meets a 0, jumping past the pending multiplications. 5. 05-validate (capstone) — custom typed balls (not_a_number/negative/too_large) as a reporting channel; check catches open and reports the ball. Closes the arc: narrow catchers in 2–3, wide-open here, and why each is right.
● Chapter 15 — exceptions is built and CI-green (78 exercises).
All checks were successful
CI - Linux / CI - Linux x86_64 (pull_request) Successful in 47s
3b0ffe2e0d
Five exercises, each plgc-verified (every solution passes its test/0, every starter parses):

  1. 01-catch-recover — catch/3 + throw/1 as a pair; price_or catches no_price(_) and supplies a default.
  2. 02-catch-error — the ISO error(Formal, Context) shape; safe_div catches the engine's
  evaluation_error(zero_divisor). Explicit tie-back to chs 12/14 where errors were avoided.
  3. 03-selective — the catcher is a unification; guarded recovers type_error(_,_) but lets zero_divisor propagate
  to an outer catch. Warns against the over-greedy catch(_,_,...).
  4. 04-non-local-exit — throw as control flow; product short-circuits to 0 the moment it meets a 0, jumping past
  the pending multiplications.
  5. 05-validate (capstone) — custom typed balls (not_a_number/negative/too_large) as a reporting channel; check
  catches open and reports the ball. Closes the arc: narrow catchers in 2–3, wide-open here, and why each is
  right.
navicore deleted branch chapter15 2026-06-27 18:09:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
navicore/loglings!16
No description provided.