![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
Собственно в perl есть удобнейшая всероенная функция caller(), которая возвращает массив, каждая ячейка из которого хранит полную информацию о месте/методе/функции которая вызвала этот caller(), следующая ячейка массива хранит место/метод/функция которая вызвала текущее "место" которое вызвало caller() и так до главной входящей точки main()
Собственно сесть ли аналоги во AS3. Может есть готовое решение, или как вообще олавливаются такие моменты? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Нет, в AS3 этого нет.
|
|
|||||
|
Modus ponens
|
В дебаговом режиме можно выдать ошибку и посмотреть результат - в нем будет трейс стека, т.е. имена функций в той последовательности, в которой они были вызваны. В режиме релиза такой возможности нет.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
Цитата:
Ну нет, так нет. Очень жаль, надеюсь в будующем появится такая возможность! |
|
|||||
|
Modus ponens
|
Это с чего вы взяли? =/ А try - catch для чего существует? Да и вообще, ошибка не завершает выполнение кода в любом случае, вас просто интерпрететор спросит, что с ней делать - прочитаете сообщение, и жмите на Continue. В смысле, не нужно создавать ошибку, которая приведет к остановке кода, просто чего-нть типа:
package
{
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
import mx.core.Application;
public class Main extends Application
{
public function Main() { }
public function init():void
{
var err:Error = new Error("my error", 123);
try
{
throw err;
} catch (e:Error)
{
trace(err.getStackTrace());
}
}
}
}
Error: my error at Main/init()[D:\mxml\alert\src\Main.as:14] at alert/___alert_Main1_creationComplete()[D:\mxml\alert\src\alert.mxml:2] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.core::UIComponent/dispatchEvent()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:9051] at mx.core::UIComponent/set initialized()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:1167] at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:698] at Function/http://adobe.com/AS3/2006/builtin::apply() at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8460] at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8403]
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
wvxvw: Понятно! Спасибо!
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ошибку выкидывать необязательно, можно просто вывести стек.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|