| On this page | |
| Inheritance | 
 | 
概要 ¶
例えば、ジオメトリノードの出力の参照を取得したとします:
>>> mygeo = hou.node("/obj/geo1/sphere1").geometry()
その参照を取得した後に、何かが変更されてノードの再クックをして、その再クックが失敗した場合、mygeoが参照していたジオメトリは無効となります。
そのmygeoにアクセスしようとすると、この例外が発生します。
>>> points = mygeo.points() hou.InvalidGeometry: ...
Tipsとメモ ¶
- 
        
        現在エラーになっているノードに対して .geometry()をコールすると、無効なhou.GeometryオブジェクトではなくNoneが取得されます。
- 
        
        Geometryオブジェクトを使用する前に、hou.Geometry.isValidを使ってそのオブジェクトが有効かどうかをチェックすることができます。if mygeo.isValid(): points = mygeo.points() 
- 
        
        クッキングメカニズム“外”のコードでジオメトリを掴むと、ジオメトリ参照が無効になっていることがあります。コードを(例えば、Python SOPで)クックの 一部 として実行すれば、有効な Geometry参照はスクリプト中でも有効なままになります。
¶
Methods from hou.Error ¶
description()
  → str
        
例外のクラスの説明を返します。この説明は、例外インスタンスには関係ありません。
exceptionTypeName()
  → str
        
例外タイプの名前を返します。
    異なるサブクラスのhou.Errorのインスタンスは、異なる名前を返します。
    基底クラスのインスタンスは、"Error"を返します。
str(e.__class__)を使用することで、そのサブクラスの名前を取得することもできます。
instanceMessage()
  → str
        
例外インスタンス固有のメッセージを返します。