On this page | |
Inheritance |
|
概要 ¶
これは、無効な入力をメソッドコールに渡すなどして何か問題が起きた時に典型的にシステムが引き起こすような他の例外とは異なります。 これは、Python SOP、Python Object、Python LOPなどの作成者のあなたがそのノード上でメッセージ/警告/エラーが設定されるように組んだ実装スクリプト内で引き起こされる例外です。
エラー、警告、メッセージは、ノードのユーザインターフェースの一部です。 これらはネットワークエディタ、パラメータエディタ、Infoウィンドウに出現します。
-
エラーは、ユーザにそのノードでエラーが発生したことを伝えます。例えば、入力やパラメータ値が無効だった場合です。
-
警告は、そのノードがクックできたものの、ユーザに確認して欲しい問題があることを伝えます。例えば、テクスチャが見つからなかった場合です。
詳細は、Python SOPの書き方を参照してください。
Tip
ノードに エラー の代わりに 警告 をマークしたいのであれば、代わりにhou.NodeWarningを引き起こしてください。
サンプル ¶
ノード上のパラメータで指定された外部ファイルの情報を読み込むPython SOPを書くと仮定します:
thisnode = hou.pwd() filepath = thisnode.parm("file").evalAsString() content = hou.readFile(filepath) # ...
そのファイルが存在しなかった場合、そのノードがクックできないことをHoudiniに伝えるために以下の例外を引き起こして、ユーザにその問題を修正するためのヒントとなるエラーメッセージを指定してください:
import os.path thisnode = hou.pwd() filepath = thisnode.parm("file").evalAsString() if not os.path.exists(filepath): raise hou.NodeError("File {} does not exist".format(filepath)) content = hou.readFile() # ...
¶
Methods from hou.Error ¶
description()
→ str
例外のクラスの説明を返します。この説明は、例外インスタンスには関係ありません。
exceptionTypeName()
→ str
例外タイプの名前を返します。
異なるサブクラスのhou.Errorのインスタンスは、異なる名前を返します。
基底クラスのインスタンスは、"Error"
を返します。
str(e.__class__)
を使用することで、そのサブクラスの名前を取得することもできます。
instanceMessage()
→ str
例外インスタンス固有のメッセージを返します。
See also |