エラーの getStackTrace 関数によって作成された文字列にアクセスすると、FlashDevelop IDE で非常に異常な動作が発生します。
package
{
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main():void
{
print("Start");
var err:Error = new Error();
var stack:String = err.getStackTrace();
print(stack);
// also occurs when this is replaced with stack.length or stack[0]
print("End");
}
private function print(input:*):void
{
trace(input);
trace("---");
}
}
}
出力するフラッシュCS4で実行すると
Start
---
Error
at Main()
---
End
---
しかし、FlashDevelop で実行すると ( に置き換えtrace()
てFlashConnect.trace()
)、出力されます
Start
---
それはバグですか、それとも FlashDevelop が意図的に別の方法でエラーを処理しているのでしょうか?
後者の場合、エラーのスタックトレースにアクセスするための回避策はありますか?