001package com.ericlam.mc.eldgui.exception; 002 003import com.ericlam.mc.eldgui.UISession; 004import com.ericlam.mc.eldgui.view.BukkitView; 005import org.bukkit.entity.Player; 006 007/** 008 * 異常界面處理器。當界面執行時出現異常,將會調用這個類去渲染異常界面。 009 * <br> 010 * 你可以透過新增自定義方法並標注 {@link HandleException} 011 * 來特別處理指定的異常,但其方法參數必須與 012 * {@link ExceptionViewHandler#createErrorView(Exception, String, UISession, Player)} 013 * 一致 014 */ 015public interface ExceptionViewHandler { 016 017 /** 018 * 全局異常處理。如無指定,則調用此方法處理異常 019 * @param exception 異常(報錯) 020 * @param fromController 獲取抛出異常的 controller id 021 * @param session Session 022 * @param player 獲取抛出異常的所屬界面使用者 023 * @return 報錯時出現的界面 024 */ 025 BukkitView<?, ?> createErrorView(Exception exception, String fromController, UISession session, Player player); 026 027}