Second Lifeで気に入ったアイテムの記録です あ、ウソです。スクリプトとか他のことも書いてます

2008/05/23

エラー

がでるのがプログラムってことで。

今回も雑談の回です。

さて、スクリプトのエラーですが
エラーがでて、とまる場合と、とまらない場合がありますが
とまらない方の話を少し。

たとえば、noteにテクスチャの名前を書いて
それを読み込んで、primにはりつける処理があるとします。
素直に組めば、こんな感じですか

1. noteの読み込み
  どこかバッファに蓄える
2. タッチとかで処理スタート
3. 1で作ったバッファからテクスチャの名前をとって
  順番に表示する

今回、気になってるのが、
3で「テクスチャの名前をとって表示する」ってところです。
これ、単純に名前を間違ったとかで
noteに書いてあるにもかかわらず、primのInventoryにない場合ってありますよね
その場合、「そんなもんねぇよ!」とか「テクスはれねーよ!」みたいなエラーが
「システムから」出されるわけです。

こういうのって気になりません?
ってのが今回の話です。

「システムから出されるエラーメッセージが出たら負け」みたいな考えがあって
防げるものはとことん防ぎたいなと思うのです。
世間的にはどうなんでしょうか。



こないだニコニコのランキングでみつけて、脳内再生が激しいです





さて、Windowsとかのアプリでも
「致命的なエラー:○○」みたいなエラーがでたら
その瞬間に、\(^o^)/オワタみたいに思ってしまいますよね?
「負け」というのは、そのへんと同じように考えてしまうからかもしれません。

実際、さきほどの例の場合は、llGetInventoryTypeなんかを使うと
わりと簡単に回避できます。
そして自分で作った処理で対応できるわけです。

製本機の「使いきり」版をつくったときは
仕様として、エラーで終わったらまずいわけです。
「使いきり」なので、もう戻れないのです。

ただ、このへんの処理をいれるにしても
現行のLSLでは、16kという少ないメモリのなかで
やりくりしないといけないわけで
エラー対応のために、本来の機能に使えるメモリが減るわけです。
それなら、エラーメッセージはシステムにまかせて
マニュアルに
「○○というエラーがでたら、こういう原因が考えられるよ
 だから、こうしてね」
とか書くというのもアリなのです。



個人的ビッグニュースです

昔、マ板だったかム板だったかに
こんなスレが立ちました
巫女みこナースでコーディング
まあ、要するに電波ソング
最高にハイってやつだ!な状態でコーディングしようって...違ったっけかな

そこでたまたま見つけたのが、
この...


この中の「猫鍋」って曲が紹介されてたんですが
個人的には「ワイルドじいさん」「腹筋体操第一」なんかがスキです

で、ああ、そうです。
これを知ったときには、すでに販売が終わっていて
がっくりきてたのですが
いつのまにやら再販とのこと!
復刻・ぱんださんようちえん
さっそく注文してしまいました。
すでにニコニコとかでフルに聞けるんですが
こういうのは、いいのをありがとうってのを返さないと
次につながりませんですからのう
それに安いし。



と、まあ、そんなわけで、メモリをやりくりしながら
エラー対策を書くわけです。
もちろん、全てを防ぐこともできませんが
こういうのを気にかけるようになると
なぜか、本来の機能も洗練されるようになってきます。
「ただ動けばいい」という状態から
「エレガントに動く」という感じになるんでしょうか。

in worldでもLSL-BBSでも
スクリプトはじめたよー!って人が増えてきて
なんか楽しくなってきました。
いろいろ書いて余裕がでてきたら
エラー対策とか考えてみるのもおもしろいです。
本来の機能がうまく動くのも楽しいんですが
かっこいいエラー対策を思いつくと
「俺って天才なんじゃねーのwwっうぇっうぇwww」ってな感じになって
新たな楽しみにつながります。

とか言いつつも、
なかなかエレガントなエラー対策って難しいんですよね

2 コメント:

Fakefur さんのコメント...

まぁ、フリーの物でスクリプトエラーがでた
場合は「やっぱ出たよ」って爆笑で済みますが
値段ついてる物がエラーでるとねぇ・・・
まぁ興ざめですね。

まぁ私の場合は複雑な物はSLでは
作ってないので今のとこエラーでの
苦情はないようです。
安いからゴミ箱にポイされてるかも
しれませんが(笑

you Xiao さんのコメント...

そこそこの値段のものは
そこそこしっかりしてると
思ってたんだけど
なーんかそうでもないのもあったりして
結構がっくりきます