Revert "Add error module for error handling"

This reverts commit e9b122f612.
This commit is contained in:
Matthias Beyer 2015-10-19 17:31:13 +02:00
parent f1a67dba10
commit 3df9343412
3 changed files with 29 additions and 51 deletions

View file

@ -1,35 +0,0 @@
use runtime::Runtime;
pub struct ImagErrorBase {
pub shortdesc : String,
pub longdesc : String,
}
pub trait ImagError<'a> {
fn print(&self, rt: &Runtime);
fn print_long(&self, rt: &Runtime);
fn print_short(&self, rt: &Runtime);
}
impl<'a> ImagError<'a> for ImagErrorBase {
fn print(&self, rt: &Runtime) {
if self.longdesc.is_empty() {
let s = format!("Error: {}\n\n{}\n\n",
self.shortdesc, self.longdesc);
rt.print(&s)
} else {
let s = format!("Error: {}\n", self.shortdesc);
rt.print(&s)
}
}
fn print_short(&self, rt : &Runtime) {
rt.print(&self.shortdesc)
}
fn print_long(&self, rt : &Runtime) {
rt.print(&self.longdesc)
}
}

View file

@ -5,7 +5,6 @@ use runtime::Runtime;
use module::Module;
mod cli;
mod error;
mod runtime;
mod module;
mod storage;

View file

@ -1,35 +1,49 @@
use runtime::Runtime;
use error::ImagErrorBase;
pub struct ModuleError {
base: ImagErrorBase,
module_name: String,
shortdesc : String,
longdesc : String,
}
impl ModuleError {
pub fn short<T: Module>(module : &T, short : String) -> ModuleError {
ModuleError::new(module, short, "".to_string())
pub fn short(short : String) -> ModuleError {
ModuleError::new(short, "".to_string())
}
pub fn new<T: Module>(module : &T, short : String, long : String) -> ModuleError {
pub fn new(short : String, long : String) -> ModuleError {
ModuleError {
base: ImagErrorBase {
shortdesc: short,
longdesc: long,
},
module_name: module.name(),
}
}
pub fn print(&self, rt : &Runtime) {
if self.longdesc.is_empty() {
let s = format!("Error: {}\n\n{}\n\n",
self.shortdesc, self.longdesc);
rt.print(&s)
} else {
let s = format!("Error: {}\n", self.shortdesc);
rt.print(&s)
}
}
pub fn print_short(&self, rt : &Runtime) {
rt.print(&self.shortdesc)
}
pub fn print_long(&self, rt : &Runtime) {
rt.print(&self.longdesc)
}
}
pub trait Module {
fn new() -> Self;
fn load(&self, &rt : Runtime) -> Self;
fn name(&self) -> String;
fn load(self, &rt : Runtime) -> Self;
fn name(self) -> String;
fn execute(&self, &rt : Runtime) -> Option<ModuleError>;
fn execute(self, &rt : Runtime) -> Option<ModuleError>;
}