1 // 2 // RuntimeException.h 3 // ANTLR 4 // 5 // Created by Alan Condit on 6/5/10. 6 // [The "BSD licence"] 7 // Copyright (c) 2010 Alan Condit 8 // All rights reserved. 9 // 10 // Redistribution and use in source and binary forms, with or without 11 // modification, are permitted provided that the following conditions 12 // are met: 13 // 1. Redistributions of source code must retain the above copyright 14 // notice, this list of conditions and the following disclaimer. 15 // 2. Redistributions in binary form must reproduce the above copyright 16 // notice, this list of conditions and the following disclaimer in the 17 // documentation and/or other materials provided with the distribution. 18 // 3. The name of the author may not be used to endorse or promote products 19 // derived from this software without specific prior written permission. 20 // 21 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 32 #import <Foundation/Foundation.h> 33 34 @interface RuntimeException : NSException { 35 } 36 37 + (RuntimeException *) newException; 38 + (RuntimeException *) newException:(NSString *)aReason; 39 + (RuntimeException *) newException:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 40 41 + (RuntimeException *) newException:(NSString *)aName reason:(NSString *)aReason; 42 + (RuntimeException *) newException:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 43 44 - (id) init; 45 - (id) init:(NSString *)aReason; 46 - (id) init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 47 - (id) initWithName:(NSString *)aName reason:(NSString *)aReason; 48 - (id) initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 49 50 - (NSString *) Description; 51 - (id) stackTrace:(NSException *)e; 52 53 @end 54 55 @interface CloneNotSupportedException : RuntimeException { 56 } 57 58 + (id) newException; 59 + (id) newException:(NSString *)aReason; 60 + (id) newException:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 61 62 - (id) init; 63 - (id) init:(NSString *)aReason; 64 - (id) init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 65 66 @end 67 68 @interface ConcurrentModificationException : RuntimeException { 69 } 70 71 + (id) newException:(NSString *)aReason; 72 73 - (id) init; 74 - (id) init:(NSString *)aReason; 75 - (id) init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 76 @end 77 78 @interface IllegalArgumentException : RuntimeException { 79 } 80 81 + (id) newException; 82 + (id) newException:(NSString *)aReason; 83 + (id) newException:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 84 85 - (id) init; 86 - (id) init:(NSString *)aReason; 87 - (id) init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 88 89 @end 90 91 @interface IllegalStateException : RuntimeException { 92 } 93 94 + (id) newException; 95 + (id) newException:(NSString *)aReason; 96 + (id) newException:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 97 98 - (id) init; 99 - (id)init:(NSString *)aReason; 100 - (id)init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 101 102 @end 103 104 @interface IndexOutOfBoundsException : RuntimeException { 105 } 106 107 + (id) newException; 108 + (id) newException:(NSString *)aReason; 109 + (id) newException:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 110 111 - (id) init; 112 - (id)init:(NSString *)aReason; 113 - (id)init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 114 115 @end 116 117 @interface NoSuchElementException : RuntimeException { 118 } 119 120 + (id) newException; 121 + (id) newException:(NSString *)aReason; 122 + (id) newException:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 123 124 - (id) init; 125 - (id) init:(NSString *)aReason; 126 - (id) init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 127 128 @end 129 130 @interface NullPointerException : RuntimeException { 131 } 132 133 + (id) newException; 134 + (id) newException:(NSString *)aReason; 135 + (id) newException:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 136 137 - (id) init; 138 - (id) init:(NSString *)aReason; 139 - (id) init:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 140 141 @end 142 143 @interface RewriteEarlyExitException : RuntimeException { 144 } 145 146 + (id) newException; 147 - (id) initWithName:(NSString *)aName reason:(NSString *)aReason userInfo:(NSDictionary *)aUserInfo; 148 149 @end 150 151 @interface UnsupportedOperationException : RuntimeException { 152 } 153 154 + (id) newException:(NSString *)aReason; 155 156 - (id) initWithName:(NSString *)aName reason:(NSString *)aReason; 157 - (id) initWithName:(NSString *)aMsg reason:(NSString *)aCause userInfo:(NSDictionary *)userInfo; 158 159 @end 160 161