1.0.2 • Published 6 years ago

@player1os/error-handler v1.0.2

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

JS Error Handler

Usage example 1

try {
	someErrorProneFunction()
} catch (err) {
	handleError(err) // tslint:disable-line
		.catch(ErrorType, (err) => {
			console.error('bad error 1', err.message)
		})
		.catch({ message: 'lol-wut' }, () => {
			console.error('bad error 2', err.message)
		})
		.catch((err) => { return (err.message.length > 5) && (err.data.p === 8) }, (err) => {
			console.error('bad error 3', err.message)
		})
		.catch([ErrorType1, ErrorType2], () => {
			console.error('bad error 4', err.message)
		})
		.catch([{ message: 'lol-wut' }, { l: 5, message: 'lol-wut-mate' }], () => {
			console.error('bad error 5', err.message)
		})
		.catch([(err) => { return (err.message.length > 5) && (err.data.p === 8) }, (err) => { return err.d === 'z' }], (err) => {
			console.error('bad error 6', err.message)
		})
		.catch([(err) => { return (err.message.length > 5) && (err.data.p === 8) }, ErrorType3, { l: 'z' }], (err) => {
			console.error('bad error 7', err.message)
		})
		.catch(ErrorType5) // do nothing for the following error typ
		.throw()
} // tslint:disable-line

Usage example 2

try {
	someErrorProneFunction()
} catch (err) {
	// This would rethrow if the error specifically doesn't match error type
	handleError(err) // tslint:disable-line
		.pass(ErrorType) // do nothing for the following error typ
		.throw()
}

Usage example 3

try {
	someErrorProneFunction()
} catch (err) {
	handleError(err) // tslint:disable-line
		.catch(ErrorType, () => {
			console.error('bad error', err.message)
		})
		.catch(() => {
			console.error('general case not the error type', err.message)
		})
}