mirror of
https://gitee.com/csharpui/CPF.git
synced 2025-04-04 23:39:26 +08:00
36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace CPF.Linux
|
|
{
|
|
static class XError
|
|
{
|
|
private static readonly XErrorHandler s_errorHandlerDelegate = Handler;
|
|
public static XErrorEvent LastError;
|
|
static int Handler(IntPtr display, ref XErrorEvent error)
|
|
{
|
|
LastError = error;
|
|
//StringBuilder stringBuilder = new StringBuilder(100);
|
|
//XLib.XGetErrorText(error.display, error.error_code, stringBuilder, stringBuilder.Length);
|
|
//Console.WriteLine("异常:" + stringBuilder.ToString() + " " + error.request_code + ":" + error.error_code);
|
|
return 0;
|
|
}
|
|
|
|
public static void ThrowLastError(string desc)
|
|
{
|
|
var err = LastError;
|
|
LastError = new XErrorEvent();
|
|
if (err.error_code == 0)
|
|
throw new Exception(desc);
|
|
throw new Exception(desc + ": " + err.error_code);
|
|
|
|
}
|
|
|
|
public static void Init()
|
|
{
|
|
XLib.XSetErrorHandler(s_errorHandlerDelegate);
|
|
}
|
|
}
|
|
}
|