タグ

例外に関するkoma_gのブックマーク (10)

  • Pythonの例外の仕様についてちゃんと調べた - delhi09の勉強日記

    概要 今までPythonでコードを書くときに例外をなんとなく雰囲気で使っていたので、ちゃんと仕様を調べてみた。 検証したこと 1. Exceptionはコンストラクタ引数をargsフィールドに保持している 以下のようなコードを例にする。 def hoge(): raise Exception("hoge") try: hoge() except Exception as e: print(e.args) 実行すると以下のような結果になる。 $ python main.py ('hoge',) $次にExceptionの引数を以下のように変えて実行してみる。 raise Exception("hoge", "fuga") 実行すると以下のような結果になる。 $ python main.py ('hoge', 'fuga') $以上から、Exceptionはコンストラクタ引数をフィールドにTu

    Pythonの例外の仕様についてちゃんと調べた - delhi09の勉強日記
  • Python で例外を自作して使うコード例(ユーザー定義例外)

    例外クラスを自作して使用する Python コード例を書きました。 Python マニュアルによると、自作の例外は ユーザー定義例外ていぎれいがい (User-defined Exceptions) というようでした。 (Python) ユーザー定義例外 (User-defined Exceptions) 例外クラスの書き方は決まりきっていたので、とても簡単でした。 classクラス と書いて、 エラー名をつけて、 カッコの中に Exceptionエクセプション と書くだけです。 クラスの中身は無くてOKでしたので、passパス と書きます。 # 例外クラスを作ります。 class JisakuError(Exception): """自作プログラムのエラーを知らせる例外クラスです。""" pass # 例外クラスを使います。 raise JisakuError(f'数値がほしいのに No

    Python で例外を自作して使うコード例(ユーザー定義例外)
  • 例外を初めて実装した言語 - from scratch

    リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味のある方は見てみてください。 blog.recruit.co.jp R-ISUCON 2021 では、 Node.js (TypeScript), Go, Java の3パターンの実装が出てくることが通例になっていまして、今回は Java の実装から Node.js, Go に適用していた時に一緒に実装していたメンバーからの疑問が『例外には色々な議論があるけれど、「例外を初めて実装した言語」ってどういう気持ちで実装したんだろう』という話が挙げられたので、そのネタを持ってきました。 ちなみにここで指してい

    例外を初めて実装した言語 - from scratch
  • Python例外処理 - Qiita

    代表的な例外 TypeError 例:TypeError: unsupported operand type(s) for /: 'str' and 'int' String型を計算しようとしたときなどに起きるエラー ZeroDivisionError 例:ZeroDivisionError: division by zero 1/0のようにゼロで割ってしまったときに起きるエラー NameError 例:NameError: name 'hoge' is not defined 定義していない変数を使ったときに起きるエラー AttributeError 例:AttributeError: type object ‘list’ has no attribute 'fuga' 存在しない属性にアクセスしようとしたときに起きるエラー Pythonの例外処理ルール try: 括ったコードを例外処理

    Python例外処理 - Qiita
  • 「例外」がないからGo言語はイケてないとかって言ってるヤツが本当にイケてない件 - Qiita

    この記事は、Go3 Advent Calendar 2018 の8日目の記事です。 7日目は @codehex さんによる「Go でアプリケーションとクライアントのミドルウェアを作成する方法知ってますか?」でした。 日はネタ全開でお送りいたします。 Disclaimer(免責事項) はじめに言い訳というか、これを書いた経緯というか。 プログラミング言語をdisる人をdisる芸を見たいですね! — yet another (@Maki_Daisuke) 2018年10月11日 というツイートをいたしまして、言った手前自分でやるか、と思い立った次第です。 なので、ネタとしてお楽しみください。 なお、炎上した場合にも、それすらもネタとして楽しむ所存ですのでアシカラズ。 それでは、いってみましょう。 Go言語がイケてない…だ…と……? Go言語はイケてない言語としてよくdisられているが、その中

    「例外」がないからGo言語はイケてないとかって言ってるヤツが本当にイケてない件 - Qiita
  • Pythonメモ : better-exceptionsで例外情報を見やすくする - もた日記

    better-exceptions インストール 使い方 better-exceptions github.com better-exceptionsを使用すると例外情報が図のようにみやすくなる。 インストール pipでインストールできるので下記コマンドを実行。 $ pip install better_exceptions 使い方 以下のようにbetter_exceptionsをインポートすればよい。 import better_exceptions 試しに下記コードを実行した場合の出力を比べてみる。 import better_exceptions foo = 52 def shallow(a, b): deep(a + b) def deep(val): global foo assert val > 10 and foo == 60 bar = foo - 50 shallow(b

    Pythonメモ : better-exceptionsで例外情報を見やすくする - もた日記
  • 6. Built-in Exceptions — Python 2.7.18 documentation

    This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. 6. Built-in Exceptions¶ Exceptions should be class objects. The exceptions are defined in the module exceptions. This module never needs to be imported explicitly: the exceptions are provided in the built-in namespace as well as the excepti

  • 例外、エラー、異常、そして - Qiita

    「例外」「エラー」「異常」あたりの言葉が、言語仕様や設計の中で人によって微妙にずれた使い方されてるから、 「Expected だが Accept されないケース」を表す別の言葉が欲しい。 — Jxck (@Jxck_) 2016年8月31日 @Jxck_ 来こう分類されて、 1. Expected/Accepted 2. Expected/UnAccepted 3. UnExpected 2, 3 をどう呼ぶかあたりで、例外, エラー, 異常などの言葉が入り乱れてて、それが広義の例外処理が誤解される原因だと思ってる — Jxck (@Jxck_) 2016年8月31日 Expected and Accepted Expected but Unaccepted Unexpected

    例外、エラー、異常、そして - Qiita
  • Python - unittestのassertRaisesの使い方 - ぼっち勉強会

    数日前からPython2.7を勉強し始めています。 WEBチュートリアルを少しずつやっているんですが、充実度がすごい。 そんな訳でPythonに標準で入っているunittestを使い、 assertRaisesにて例外のテストを書こうとしました。 (noseとかpy.testとかの方が便利らしいですが、 まずは標準の状態でアレコレしたかったのでunittestにしてます) こんなふうに。 import unittest class MyException(Exception): pass class Target: def something(self): raise MyException class Test(unittest.TestCase): def setUp(self): self.target = Target() def test_exception(self): sel

  • 例外入門以前 - Qiita

    例外 Advent Calendar 2014の継続について 参加者が集まらなかったという経緯から独りAdvent Calendarとして始めた「例外 Advent Calendar 2014」ですが、諸事情により継続が困難となったため私Kokudoriの6日以降の投稿はありません。変に注目だけを集める形になってしまい申し訳ありません。 以下、諸事情というか、言い訳。 『契約による設計から見た例外』という記事にて述べた「契約」に対する私の理解が根的に間違っていました。 そこから芋づる式に例外に関する私自身の考えが間違っていた、あるいは理解が浅かったことに気づきました。このような理解力では例外について私見を述べることさえ不可能となり、結果頓挫という形になりました。 考えうる限り最低で残念な結果になってしまいました。当に申し訳ございませんでした。 初めに原則を考え出して、それから例外を見つ

    例外入門以前 - Qiita
  • 1