Application.RegisterLogCallback を使うと例外発生時にコールバック関数が呼ばれるように設定可能です。
C# のサンプルはこの様になります。空の GameObject を作成し、貼り付けた後に実行してみて下さい。
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
string _condition = "";
string _stackTrace = "";
string _type = "";
string num = "";
string res = "";
void OnEnable ()
{
Application.RegisterLogCallback (HandleLog);
}
void OnDisable ()
{
Application.RegisterLogCallback (null);
}
void HandleLog (string condition, string stackTrace, LogType type)
{
_condition = condition;
_stackTrace = stackTrace;
_type = type.ToString();
}
void OnGUI ()
{
num = GUI.TextField (new Rect (10, 10, 100, 50), num);
GUI.Label (new Rect (120, 10, 100, 50), res);
if (GUI.Button (new Rect (10, 70, 150, 50), "test")) {
res = (10 / int.Parse(num)).ToString();
}
GUI.TextArea (new Rect (10, 130, 300, 200),
"condition : " + _condition + "\nstackTrace : " + _stackTrace + "\ntype : " + _type);
}
}このサンプルでは TextField に未入力で「Test」ボタンを押すと int.Parse() のタイミングで以下の様に例外が発生し、コールバックが行われた事を確認出来ます。

TextField に 0 を指定すると DivideByZeroException が発生し、以下の様な結果と成ります。

もちろん名前の通り、ログの出力時にもコールバックが呼ばれます。例えば Debug.Log("hoge") を実行したタイミングで以下の様なコールバックが発生します。

実行ファイル上で Debug.Log() の値が取得したい時などに便利です。
関連情報
Unity Script Reference – Application.RegisterLogCallback
http://docs.unity3d.com/Documentation/ScriptReference/Application.RegisterLogCallback.html