Skip to Content
Pythonクイックリファレンス 第4版
book

Pythonクイックリファレンス 第4版

by Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire, 鈴木 駿, 株式会社クイープ
June 2024
Intermediate to advanced
864 pages
12h 14m
Japanese
O'Reilly Japan, Inc.
Content preview from Pythonクイックリファレンス 第4版

6章例外

Pythonは例外(exception)を使ってエラーや異常を通知する。Pythonはエラーを検出すると例外を生成(raise)する —— つまり、例外オブジェクトを例外伝播メカニズムに渡すことで、異常な状態が発生したことを知らせる。コードでは、raise文を実行することで、例外を明示的に生成できる。

例外の処理(handling)は、この伝播メカニズムから例外オブジェクトを取り出し、異常な状態に対処するために必要なアクションを実行することを意味する。プログラムが例外を処理しない場合、そのプログラムはエラーメッセージとトレースバックメッセージを表示して終了する。ただし、プログラムで例外を処理すれば、エラーやその他の異常が発生しても実行を継続することができる。例外の処理には、try文とexcept句を使う。

Pythonでは、エラーではなく、異常ですらない状況を知らせる目的でも例外を使う。たとえば、3.9.4.1項で説明したように、イテレータで組み込み関数nextを呼び出すと、イテレータの要素がなくなったときにStopIterationが生成される。これはエラーではない —— ほとんどのイテレータは最終的に要素を使い果たすため、異常ですらない。したがって、Pythonにおいてエラーやその他の特殊な状況を調べて対処するための最適な戦略は、他の言語のものとは異なっている。そうした戦略については、6.9節で取り上げる。

本章では、エラーや特殊な状況での例外の使い方について説明する。また、6.9.3項では標準ライブラリのloggingモジュールを取り上げ、6.10節ではassert文を取り上げる。

6.1 try文

try文は、Pythonの中核的な例外処理メカニズムであり、次の3種類のオプション句を使う複合文である。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ

並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ

高野 祐輝

Publisher Resources

ISBN: 9784814400812Publisher Website