Thread Rating:
  • 311 Vote(s) - 2.88 Average
  • 1
  • 2
  • 3
  • 4
  • 5
エラー時のロケーション情報を取得したい
08-09-2013, 04:39 PM, (This post was last modified: 08-09-2013, 04:40 PM by umemura.)
#1
エラー時のロケーション情報を取得したい
例外が発生したときに、例外の内容をコンソールに出力しているのですが、
同時に、どのファイルの、どの行で、例外がキャッチされたのかを出力したいです。

具体的には、例外発生時のダイアログで「詳細」ボタンを押して表示されるスタックトレースの
1行目(#0)に表示される情報がほしいです。

どのようにすれば可能でしょうか。
08-09-2013, 04:46 PM,
#2
RE: エラー時のロケーション情報を取得したい
this-localtion というのがあるのですね。
他にも this-class や、this-function などの this-XXX は共通部品等に有用そうです。

下記は、シングルトンクラスのファクトリーが2回以上呼び出されたらログを出力するサンプルです。

Code:
{define-class public final Singleton
  let private instance:#Singleton = null
  field data:String = "シングルトン"
  {constructor private {default}}
  {factory public {get-instance}:Singleton
    {if-non-null Singleton.instance then
        {output {this-location}}
        {output "すでに " & {this-class} & " のインスタンスは生成済みです"}
    else
        set Singleton.instance = {Singleton}
        {output {this-location}}
        {output  {this-function} & "から " & {this-class} & " のインスタンスが生成されました"}
    }
    {return Singleton.instance asa Singleton}
  }
}
{CommandButton
    label = "シングルトンクラス",
    {on Action do
       def s = {Singleton.get-instance}
        {popup-message s.data}
    }
}

Forum Jump:


Users browsing this thread:
3 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('954')