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