Есть ли что-то вроде startWith (str_a, str_b)
в стандартной библиотеке C?
Он должен принимать указатели на две строки, которые заканчиваются нулевыми байтами, и сообщать мне, появляется ли первая также полностью в начале второй.
Примеры: Я ищу что-то более элегантное, чем установка try / except везде.
РЕДАКТИРОВАТЬ: Йохен Ритцель дал отличный ответ ниже, в котором всплывает окно с предупреждением и упоминается о его присоединении к классу. Просто чтобы сделать это явным:
import Tkinter as tk
import traceback, tkMessageBox
class App:
def __init__(self, master):
master.report_callback_exception = self.report_callback_exception
self.frame = tk.Frame(master)
self.frame.pack()
b = tk.Button(
self.frame, text="This will cause an exception",
command=self.cause_exception)
b.pack()
def cause_exception(self):
a = []
a.a = 0 #A traceback makes this easy to catch and fix
def report_callback_exception(self, *args):
err = traceback.format_exception(*args)
tkMessageBox.showerror('Exception', err)
root = tk.Tk()
app = App(root)
root.mainloop()
Моя остающаяся путаница: Йохен упоминает возможность наличия разных функций отчетов об исключениях в разных фреймах. Я пока не понимаю, как это сделать. Это очевидно?