エラーをスローしてトレース出力ウィンドウと flashlog.txt ファイルにトレースできるようにしたいのですが、エラーの後もコードの実行を続行したいと考えています。これは Actionscript 3 で可能ですか? エラーをコールスタックでログに記録する必要があるため、try catch も機能しません。
2 に答える
            1        
        
		
トレース出力ウィンドウとは、(Flash IDE、Flash Builder などのトレース ウィンドウとは対照的に) エラーがスローされたときにポップアップするウィンドウを意味する場合、少しハック的な回避策があります。基本的に、呼び出しを遅らせてthrow、独自のスタック呼び出しで実行する必要があります。
このような何かがそれを行う必要があります:
    public static function throwLater(error:Error):void 
    {
        setTimeout(function():void {
            throw error;
        },30);
    } 
もちろん、エラーを直接スローするのではなく、この関数に渡す必要があります。
ただし、既存のエラーからスタック トレースを取得したい場合は、それをキャッチして、The_asManが示したようにスタック トレースを取得します。
        try {
            thisFunctionMightThrow()
        } catch (e:Error) {
            trace(e.getStackTrace();
        }
また、ある時点でスタック トレースが必要な場合 (実際にエラーをスローしたくない場合) は、スローせgetStackTraceずにエラーを作成して を呼び出すだけです。この場合、実際にはキャッチは必要ありません。
        var error:Error = new Error();
        trace(e.getStackTrace());
    于 2011-04-19T01:59:55.090   に答える
    
    
            0        
        
		
もちろん、このコードをcatchブロックに入れるだけで、try catchで機能します
var e:Error = new Error(“Some error”);
trace(e.getStackTrace());
    于 2011-04-19T01:19:57.983   に答える